概要
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');
このコードは、イベントトラッキングのためのカスタム設定をエディターに追加しています。