is_post_type_viewable()


WordPress関数is_post_type_viewable()は、特定の投稿タイプがフロントエンドで表示可能かどうかを確認するために使用されます。

構文

is_post_type_viewable( WP_Post_Type $post_type );
  • $post_type (WP_Post_Type) — チェックする投稿タイプオブジェクト。

使用例

例 1. 投稿タイプが表示可能か確認する

以下のコードは、投稿タイプ'post'が表示可能かどうかを確認します。

<?php
$post_type_object = get_post_type_object( 'post' );
if ( is_post_type_viewable( $post_type_object ) ) {
    echo '投稿タイプは表示可能です。';
}
?>

例 2. カスタム投稿タイプの表示チェック

カスタム投稿タイプ'product'が表示可能かどうかを確認します。

<?php
$post_type_object = get_post_type_object( 'product' );
if ( is_post_type_viewable( $post_type_object ) ) {
    echo 'カスタム投稿タイプは表示可能です。';
}
?>

例 3. 投稿タイプが表示不可能な場合のメッセージ

投稿タイプが表示不可能な場合にメッセージを出力します。

<?php
$post_type_object = get_post_type_object( 'private_post' );
if ( ! is_post_type_viewable( $post_type_object ) ) {
    echo 'この投稿タイプは表示できません。';
}
?>

例 4. すべての投稿タイプをループでチェック

登録されているすべての投稿タイプが表示可能かどうかをループで確認します。

<?php
$post_types = get_post_types( [], 'objects' );
foreach ( $post_types as $post_type ) {
    if ( is_post_type_viewable( $post_type ) ) {
        echo $post_type->name . 'は表示可能です。';
    }
}
?>

例 5. フロントエンド表示を条件にコンテンツを出力

表示可能な投稿タイプのみにコンテンツを出力します。

<?php
$post_type_object = get_post_type_object( 'event' );
if ( is_post_type_viewable( $post_type_object ) ) {
    echo 'イベント情報はこちらからご覧いただけます。';
}
?>

注意事項

is_post_type_viewable()は投稿タイプが公開または公開に近い状態であるかを確認するため、プライベートな投稿タイプや非公開の投稿タイプには適用されません。


関連機能: