use_block_editor_for_post_type()


WordPressのuse_block_editor_for_post_type()関数は、指定された投稿タイプでブロックエディター(Gutenberg)を使用するかどうかを判定するために使用されます。

構文

use_block_editor_for_post_type( string $post_type );
  • $post_type (string) — 投稿タイプを指定します。例: ‘post’, ‘page’, ‘custom_post_type’。

返り値:

  • (bool) — ブロックエディターが有効であればtrue、無効であればfalse

例 1: 投稿タイプ “post” のブロックエディターの有効性を確認

if ( use_block_editor_for_post_type( 'post' ) ) {
    echo 'ブロックエディターが有効です。';
} else {
    echo 'ブロックエディターは無効です。';
}

例 2: カスタム投稿タイプのチェック

$post_type = get_post_type( get_the_ID() );
if ( use_block_editor_for_post_type( $post_type ) ) {
    echo 'カスタム投稿タイプでブロックエディターが有効です。';
}

例 3: 条件付きでエディターの表示を制御

if ( use_block_editor_for_post_type( 'page' ) ) {
    echo 'ページタイプにはブロックエディターを使用します。';
} else {
    echo 'クラシックエディターを使用します。';
}

例 4: 投稿タイプのリストをループして確認

$post_types = get_post_types();
foreach ( $post_types as $post_type ) {
    if ( use_block_editor_for_post_type( $post_type ) ) {
        echo $post_type . ' でブロックエディターが有効です。';
    }
}

例 5: 投稿タイプ別のCSSクラスを追加

add_filter( 'body_class', function( $classes ) {
    $post_type = get_post_type();
    if ( use_block_editor_for_post_type( $post_type ) ) {
        $classes[] = 'block-editor-enabled';
    } else {
        $classes[] = 'block-editor-disabled';
    }
    return $classes;
});

注意点

  • この関数はブロックエディターの設定を確認するための補助的な役割を果たします。エディターの完全な動作を変更するには、別のフックやフィルターを使用してください。
  • テーマやプラグインで使用する際、指定した投稿タイプが存在するかを確認することを推奨します。

関連機能: