このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています

WordPressで管理画面にログインしていても非公開記事を表示させない方法

WordPressは記事のステータスを「非公開」にすると一般ユーザーには見ることができません。

しかし、管理画面にログインしているとその記事は表示されます。

その際、頭に「非公開:」という文字が入ります。

慣れている人が管理画面に入ってみている分には問題ないのですが頻繁に担当が変わるようなお客様とか「そんな機能必要ない」というお客様は記事取得のコードを下記のように変更してログイン時でも非公開記事は表示されないようにしましょう。

▽index.php

$args = array(
    'post_type' => 'post', // カスタム投稿なら適宜変更 
    'post_status' => 'publish', // ★ここが重要!
    'posts_per_page' => 10,
    // ...
)
$my_query = new WP_Query( $args );

if ( $my_query->have_posts() ) :
    while( $my_query->have_posts() ) : $my_query->the_post();
        get_template_part( 'loop', 'hoge' );
    endwhile;
endif;

▽loop-hoge.php

<article id="post-<?php the_ID(); ?>" class="post">
    <h1 class="post-title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
</article>

↑あくまでもサンプルです。ファイル名とHTML構造も適宜変更してください。