概要
get_block_editor_settings
フィルタは、WordPressのブロックエディターで動作する際に、エディターの設定内容を取得するために使用されます。このフィルタを使用することで、エディターのデフォルト設定を調整したり、カスタム設定を追加することが可能です。以下は、このフィルタがよく使用されるシナリオの例です。
- カスタムブロックを使用するための設定を追加する
- 特定のユーザー役割に基づいたエディター設定を変更する
- プラグインによる設定の統合
- エディターツールバーのアイコンやオプションのカスタマイズ
- エディターのテーマやスタイルの変更
- エディターヘルプのカスタマイズ
- 自前のカスタムスクリプトの追加
- 特定のポストタイプ専用のエディター設定の実装
構文
add_filter('get_block_editor_settings', 'your_function_name');
パラメータ
$editor_settings
(array): デフォルトのブロックエディター設定の配列。
戻り値
- array: フィルタリングされたブロックエディターの設定。
関連する関数
使用可能なバージョン
WordPress 5.0以降。
コアファイルのパス
/wp-includes/class-wp-block-editor.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
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 |
サンプルコード
サンプルコード 1: デフォルトのエディター設定を変更する
function custom_block_editor_settings($editor_settings) {
$editor_settings['customSetting'] = 'Your value here';
return $editor_settings;
}
add_filter('get_block_editor_settings', 'custom_block_editor_settings');
このコードは、ブロックエディターのデフォルト設定に customSetting
というカスタム設定を追加しています。
サンプルコード 2: 特定のユーザーに対してエディター設定をカスタマイズ
function custom_block_editor_for_specific_user($editor_settings) {
if (current_user_can('editor')) {
$editor_settings['toolbar'] = 'basic';
}
return $editor_settings;
}
add_filter('get_block_editor_settings', 'custom_block_editor_for_specific_user');
このコードは、使用者がエディター権限を持っている場合に、エディターのツールバーを「基本」に変更します。
サンプルコード 3: エディターのスクリプトを追加
function enqueue_custom_editor_script($editor_settings) {
$editor_settings['customEditorScript'] = 'path/to/your/script.js';
return $editor_settings;
}
add_filter('get_block_editor_settings', 'enqueue_custom_editor_script');
このコードでは、ブロックエディターにカスタムJavaScriptを追加するための設定を行っています。
サンプルコード 4: エディターのスタイルを変更
function customize_editor_styles($editor_settings) {
$editor_settings['styles'] = array('custom-style' => 'path/to/your/style.css');
return $editor_settings;
}
add_filter('get_block_editor_settings', 'customize_editor_styles');
このコードは、エディター内で使用するカスタムスタイルシートを追加しています。
サンプルコード 5: イベントトラッキングのための設定を追加
function add_event_tracking_settings($editor_settings) {
$editor_settings['eventTracking'] = true;
return $editor_settings;
}
add_filter('get_block_editor_settings', 'add_event_tracking_settings');
このコードは、イベントトラッキングのためのカスタム設定をエディターに追加しています。