概要
wp_default_editor
フィルタは、WordPress の投稿エディタのデフォルトのタイプを取得するために使用されます。このフィルタを使用することで、ユーザーが設定した好みのエディタ(ビジュアルエディタまたはテキストエディタ)を変更したり、カスタマイズしたりすることができます。主に以下のような機能を実装する際によく使われます。
- ユーザーのエディタ設定を強制する
- 管理画面のエディタをカスタマイズ
- デフォルトのエディタをプラグインにより変更
- 特定の投稿タイプに対して異なるエディタを設定
- 新しいエディタタイプの追加
- エディタの動作をカスタマイズ
- 投稿画面のユーザーエクスペリエンスを向上させる
- 他のプラグインとの互換性を維持
構文
add_filter('wp_default_editor', 'custom_default_editor');
パラメータ
string $editor
– 現在のデフォルトエディタ('visual'
または'text'
)
戻り値
string
– カスタマイズされたデフォルトエディタのタイプ
関連する関数
このフィルタを使用可能なバージョン
WordPress 2.5 以降
このフィルタが含まれるワードプレスのコアファイルのパス
wp-includes/user.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('wp_default_editor', function() {
return 'text';
});
引用元: https://developer.wordpress.org/reference/hooks/wp_default_editor/
サンプル2: 投稿タイプに応じてデフォルトエディタを変更
このコードは、特定のカスタム投稿タイプに対してデフォルトエディタをビジュアルに設定します。
add_filter('wp_default_editor', function($editor) {
if (get_post_type() === 'custom_post_type') {
return 'visual';
}
return $editor;
});
引用元: https://developer.wordpress.org/reference/hooks/wp_default_editor/
サンプル3: 管理者がテキストエディタを使用
このサンプルは、管理者ユーザーのデフォルトエディタをテキストエディタに強制します。
add_filter('wp_default_editor', function($editor) {
if (current_user_can('administrator')) {
return 'text';
}
return $editor;
});
引用元: https://developer.wordpress.org/reference/hooks/wp_default_editor/
サンプル4: 特定条件でデフォルトエディタを変更
このコードでは、特定の条件に基づいてデフォルトエディタを変更します。
add_filter('wp_default_editor', function($editor) {
if (is_user_logged_in() && user_can(get_current_user_id(), 'edit_posts')) {
return 'visual';
}
return $editor;
});
引用元: https://developer.wordpress.org/reference/hooks/wp_default_editor/
サンプル5: 設定画面からエディタを変更
このコードでは、設定オプションに基づいてデフォルトエディタを変更する例です。
add_filter('wp_default_editor', function($editor) {
$desired_editor = get_option('preferred_editor', 'visual');
return $desired_editor;
});
引用元: https://developer.wordpress.org/reference/hooks/wp_default_editor/