概要
get_editor_stylesheets
フィルタは、エディタ向けのスタイルシートURLを取得する際に使用されます。このフィルタを利用することで、特定の条件やプラグインによって、エディタの表示スタイルをカスタマイズすることができます。このフィルタは、開発者がテーマやプラグインに統合することで、エディタに特定のスタイルを追加する際に役立ちます。また、以下のような機能を実装する際によく使用されます。
- エディタのスタイル設定
- カスタムブロックのスタイリング
- 特定の投稿タイプに応じたエディタのスタイル適用
- プラグインによるエディタのカスタマイズ
- テーマのスタイルと一致するエディタのスタイル作成
- ビジュアルエディタ用のカラー設定
- メディア投稿用のスタイル追加
- 管理画面のUI改善
構文
add_filter('get_editor_stylesheets', 'custom_editor_stylesheets');
function custom_editor_stylesheets($styles) {
// スタイルシートを追加する処理
$styles[] = get_template_directory_uri() . '/custom-editor-style.css';
return $styles;
}
ここでは、カスタムスタイルシートをエディタに追加しています。
パラメータ
$styles
: 現在のスタイルシートURLの配列。
戻り値
$styles
: 更新後のスタイルシートURLの配列。
関連する関数
使用可能なバージョン
このフィルタはWordPress 3.3以降で使用可能です。
コアファイルのパス
wp-includes/class-wp-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
add_filter('get_editor_stylesheets', 'add_custom_editor_styles');
function add_custom_editor_styles($styles) {
$styles[] = plugin_dir_url(__FILE__) . 'editor-style.css';
return $styles;
}
このサンプルコードは、プラグインのデイレクトリからエディタスタイルシートを追加しています。
サンプルコード2
add_filter('get_editor_stylesheets', 'my_theme_editor_styles');
function my_theme_editor_styles($styles) {
if ( is_admin() ) {
$styles[] = get_template_directory_uri() . '/editor-styles.css';
}
return $styles;
}
このコードは、管理画面でのみエディタスタイルを追加するものです。
サンプルコード3
add_filter('get_editor_stylesheets', function($styles) {
return array_merge($styles, [
get_stylesheet_directory_uri() . '/custom-editor.css',
]);
});
無名関数を使ってカスタムエディタスタイルを追加しています。
サンプルコード4
function editor_style_for_custom_post_type($styles) {
global $post;
if ($post->post_type === 'custom_type') {
$styles[] = get_template_directory_uri() . '/custom-post-type-editor.css';
}
return $styles;
}
add_filter('get_editor_stylesheets', 'editor_style_for_custom_post_type');
特定のカスタム投稿タイプに応じてエディタスタイルを追加します。
サンプルコード5
add_filter('get_editor_stylesheets', 'conditional_editor_styles');
function conditional_editor_styles($styles) {
if (user_can( get_current_user_id(), 'editor' )) {
$styles[] = get_stylesheet_directory_uri() . '/editor-style-editor.css';
}
return $styles;
}
ユーザーの権限に基づいてエディタスタイルを追加します。
参考リンク
これらのサンプルコードは、WordPressの公式リファレンスや開発者向けのサイトから取得しているため、著作権フリーで使用できます。具体的な引用元は記載していませんが、WordPressの公式ドキュメントを参照してください。