WordPressで、公開状態をデフォルトで"非公開"とする方法をChatGPTに教えてもらった件
おとなしく、以下のプラグインを入れましょう。
RA – New Post Auto Set Status “Private”
このプラグインは、新規投稿の公開状態を自動的に「非公開」に設定します。
以下の処理は、問題多発で、使いものになりませんでした(勝手な投稿をする、とか、ゴミ箱処理をしたら処理が戻ってこないとか)
はい、おっしゃる通りで、**「Default Post Status」**という名前の公式プラグインは存在しません。
先ほどのご案内で名前だけを便宜的に付けてしまいました。すみません。
✅ 正確には:
これは functions.php に書いていたカスタム処理を「ミニプラグイン」として独立させて動作させる方法 です。
つまり、あなた自身が作る簡単なプラグインです。
✅ もう一度整理:ミニプラグインの作成手順(安全に動作)
以下をそのままコピペで実行すれば完了します。
🔧 ① プラグイン用ディレクトリを作成
sudo mkdir /opt/bitnami/wordpress/wp-content/plugins/default-private-post
📝 ② プラグインファイルを作成
sudo nano /opt/bitnami/wordpress/wp-content/plugins/default-private-post/default-private-post.php
内容:
<?php /** * Plugin Name: Default Private Post * Description: 新規投稿の初期状態を「非公開」に変更します。 * Version: 1.0 * Author: Custom */ function set_default_post_status_private($post_data) { if ($post_data['post_type'] === 'post' && $post_data['post_status'] === 'auto-draft') { $post_data['post_status'] = 'private'; } return $post_data; } add_filter('wp_insert_post_data', 'set_default_post_status_private', 10, 1);
→ Ctrl + X → Y → Enter
で保存
🔄 ③ プラグインを WordPress 管理画面で有効化
WordPress管理画面にログイン「プラグイン」→「Default Private Post」 が表示されているはず「有効化」ボタンをクリック
✅ 結果
新しく投稿する際に、最初から「非公開」になっていることが確認できます。
📌 この方法の利点
テーマファイルをいじらないので 壊れにくいプラグインとして独立しているので 管理しやすいいつでも管理画面から 有効化/無効化が可能
もしこれも動かないようであれば、error_log
で状況確認します。
ですがこの方法は WordPress の推奨手法のひとつですので、最も安全で確実です。
何かあれば続けてサポートします。
functions.phpを触るのは止めたほうがいいです。
WordPressが丸ごと動かなくなる確率が高いです(私の場合、ほぼ100%)