概要
use_block_editor_for_post
フィルタは、特定の投稿がブロックエディター(Gutenberg)に対応しているかどうかを調べるために使用されます。このフィルタを利用することで、テーマやプラグインの開発者は特定の投稿タイプや条件に基づいてブロックエディターの使用を制御できます。以下のような機能の実装に役立ちます。
- 特定の投稿タイプに対するブロックエディターの無効化
- 投稿の状態に基づいたエディター選択
- カスタムフィールドの存在によるエディター変更
- ユーザーの役割に基づくエディターの制御
- プラグインによる投稿タイプのサポート追加
- コンテンツの種類によるエディターの変更
- 特定の条件下でのエディター選択
- 投稿フォーマットによるエディターの選択
構文
add_filter('use_block_editor_for_post', 'your_function_name', 10, 2);
パラメータ
$use_block_editor
(bool): ブロックエディターを使用するかどうかの真偽値。$post
(WP_Post): 現在処理中の投稿オブジェクト。
戻り値
このフィルタは、ブロックエディターを使用するかどうかの真偽値を返します。
関連する関数
使用可能なバージョン
WordPress 5.0以降で使用可能です。
権利情報
use_block_editor_for_post
フィルタは、WordPressのコアファイルに含まれています。該当のファイルパスは次の通りです。
/wp-includes/class-wp-block-editor.php
サンプルコード
サンプルコード1
add_filter('use_block_editor_for_post', function($use_block_editor, $post) {
if ($post->post_type === 'page') {
return false; // ページではブロックエディターを無効にする
}
return $use_block_editor;
});
このコードは、投稿タイプが「ページ」の場合、ブロックエディターを無効にします。
サンプルコード2
add_filter('use_block_editor_for_post', function($use_block_editor, $post) {
if ($post->post_status === 'draft') {
return true; // 下書き状態の投稿ではブロックエディターを有効にする
}
return $use_block_editor;
});
このコードは、下書き状態の投稿に対して、ブロックエディターを有効にします。
サンプルコード3
add_filter('use_block_editor_for_post', function($use_block_editor, $post) {
if (has_post_format('aside', $post)) {
return false; // 'aside'フォーマットの投稿ではブロックエディターを無効にする
}
return $use_block_editor;
});
このコードは、投稿フォーマットが「aside」の場合、ブロックエディターを無効にします。
サンプルコード4
add_filter('use_block_editor_for_post', function($use_block_editor, $post) {
if (current_user_can('editor')) {
return true; // エディターロールのユーザーにはブロックエディターを有効にする
}
return $use_block_editor;
});
このコードは、ユーザーが「エディター」権限を持っている場合、ブロックエディターを有効にします。
サンプルコード5
add_filter('use_block_editor_for_post', function($use_block_editor, $post) {
$custom_field = get_post_meta($post->ID, 'custom_enabled', true);
if ($custom_field === '1') {
return true; // カスタムフィールドが1の場合、ブロックエディターを有効にする
}
return $use_block_editor;
});
このコードは、特定のカスタムフィールドが設定されている場合にブロックエディターを有効にします。
この関数のアクションでの使用可能性
アクション | 使用可能 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
特定のバージョンでuse_block_editor_for_post
フィルタが非推奨または削除されている情報はありません。