WordPress 記事の新規作成時に公開状態の初期値を非公開にする

広告WordPress・PHP を学べる本

Amazonのアソシエイトとして、WordPress functions.phpは適格販売により収入を得ています。

概要説明

非公開にして記事を作成し記事が完成したら公開という流れにしたい場合に便利なカスタマイズ。記事投稿時の公開状態設定の初期値を非公開にすることが出来ます

WordPress 記事の新規作成時に公開状態の初期値を非公開にする
functions.php
/*----------------------------------------------------
 記事作成時のデフォルトステータスを非公開にする
----------------------------------------------------*/
if ( !function_exists( 'post_default_status' ) ){
    function post_default_status() {
        global $post;

        if ( $post->post_status == 'publish' ) {
            $visibility = 'public';
            $visibility_trans = __('Public');
        } elseif ( !empty( $post->post_password ) ) {
            $visibility = 'password';
            $visibility_trans = __('Password protected');
        } elseif ( $post->post_type == 'post' && is_sticky( $post->ID ) ) {
            $visibility = 'public';
            $visibility_trans = __('Public, Sticky');
        } else {
            $post->post_password = '';
            $visibility = 'private';
            $visibility_trans = __('Private');
        } 

$visibility_trans = esc_js( $visibility_trans );
$script = <<<EOD
    <script type="text/javascript">
    (function($){
        try {
            $('#post-visibility-display').text('{$visibility_trans}');
            $('#hidden-post-visibility').val('{$visibility}');
            $('#visibility-radio-{$visibility}').attr('checked', true);
        } catch(err) {
        }
    })(jQuery);
    </script>
EOD;
        echo $script;
    }
    add_action( 'post_submitbox_misc_actions' , 'post_default_status' );
}

※ クラシックエディター(Classic Editor)の編集画面で動くコードです。今の標準のブロックエディターでは、公開状態の初期値は変わりません。

この状態で公開ボタンにて保存を行う

ステータスを特に変更しなければ非公開の状態で記事が保存されます

関連機能

  1. WordPress でページキャッシュが効いていても閲覧数(PV)を数える:Ajax で数えて管理画面の一覧に出す

  2. 日本語を含むファイル名のファイルをアップロードした時に自動的にリネームさせる

  3. WordPressページ表示までの処理時間を管理者にだけ表示させる

サイドバー

よく使うカスタマイズ

最近の記事

Profile

PAGE TOP