is_post_publicly_viewable()


WordPressのis_post_publicly_viewable()関数は、指定された投稿が公開状態で閲覧可能かどうかを判定するために使用されます。

構文

is_post_publicly_viewable( int|WP_Post|null $post = null );
  • $post(int|WP_Post|null) — 判定する投稿のID、WP_Postオブジェクト、またはnull。nullの場合は現在の投稿が使用されます。

例1: 現在の投稿が公開可能かどうかを確認する

この例では、現在の投稿が公開可能かどうかを確認します。

<?php if ( is_post_publicly_viewable() ) { echo 'この投稿は公開されています。'; } else { echo 'この投稿は公開されていません。'; } ?>

例2: 特定の投稿が公開可能かどうかを確認する

この例では、指定された投稿IDが公開可能かどうかを確認します。

<?php if ( is_post_publicly_viewable( get_post( 123 ) ) ) { echo 'この投稿は公開されています。'; } else { echo 'この投稿は公開されていません。'; } ?>

例3: カスタムクエリで取得した投稿が公開可能かどうかを確認する

この例では、カスタムクエリで取得した投稿が公開可能かどうかを確認します。

<?php $query = new WP_Query( array( 'post_type' => 'post' ) ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); if ( is_post_publicly_viewable() ) { echo 'この投稿は公開されています。'; } } } ?>

例4: 特定の投稿タイプが公開可能かどうかを確認する

この例では、特定の投稿タイプが公開可能かどうかを確認します。

<?php $post = get_post( 123 ); if ( is_post_publicly_viewable( $post ) ) { echo 'この投稿タイプは公開されています。'; } ?>

例5: 非公開投稿の場合にメッセージを表示する

この例では、投稿が非公開の場合にメッセージを表示します。

<?php if ( ! is_post_publicly_viewable() ) { echo 'この投稿は非公開です。'; } ?>

例6: 特定の投稿が公開可能かどうかを確認し、リンクを表示する

この例では、特定の投稿が公開可能かどうかを確認し、リンクを表示します。

<?php $post = get_post( 123 ); if ( is_post_publicly_viewable( $post ) ) { echo '<a href="' . get_permalink( $post ) . '">この投稿を表示</a>'; } ?>

例7: 複数の投稿が公開可能かどうかを確認する

この例では、複数の投稿が公開可能かどうかを確認します。

<?php $posts = get_posts( array( 'numberposts' => 5 ) ); foreach ( $posts as $post ) { if ( is_post_publicly_viewable( $post ) ) { echo '投稿ID ' . $post->ID . ' は公開されています。<br>'; } } ?>

注意点

  • この関数は、投稿が公開状態であり、かつパスワード保護されていない場合にtrueを返します。
  • 投稿が非公開、下書き、またはパスワード保護されている場合、falseを返します。

関連機能: