[WordPress] エディターに関する資料
Published2015-05-0620:17
Modified
『WordPress』のエディターについて。
投稿の編集にブロックエディターを許可しているか判定
投稿の編集に使用するエディターとしてブロックエディターを許可しているか判定する方法について。
use_block_editor_for_post()で許可状態を判定できる。
関数の戻り値がtrueの場合はブロックエディターの使用を許可している、falseの場合は許可していない、つまりクラシックエディターを使う事になる。
全てのブロックエディターを無効化
あらゆる場合においてブロックエディターを無効化する方法について。
次のフィルターフックを使う。
add_filter( 'use_block_editor_for_post', '__return_false' );
特定の投稿タイプでブロックエディターを無効化
特定の投稿タイプの場合にブロックエディターを無効化する方法について。
例として、標準の投稿においてブロックエディターを無効化するコードは次のようになる。
function disable_block_editor_for_post_type( $use_block_editor, $post_type ) {
if( $post_type === 'post' ) {
return false;
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'disable_block_editor_for_post_type', 10, 2 );
条件の部分を変更する事で、固定ページやカスタム投稿タイプにも対応可能。
特定の投稿でブロックエディターを無効化
特定の投稿の場合にブロックエディターを無効化する方法について。
次のフィルターフックを使う。
function disable_block_editor_for_post( $use_block_editor, $post ) {
// 標準の投稿の時
if( $post->post_type === 'post' ) {
// 投稿IDが1の時
if( $post->ID === 1 ) {
return false;
}
// 投稿スラッグが『sample-post』の時
if( $post->post_name === 'sample-post' ) {
return false;
}
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post', 'disable_block_editor_for_post', 10, 2 );
条件の部分はWP_Postで取得できる値を使って自由に設定できる。
投稿の編集にビジュアルエディターを許可しているか判定
投稿の編集に使用するエディターでビジュアルエディターモードを許可しているか判定する方法について。
user_can_richedit()で許可状態を判定できる。
関数の戻り値がtrueの場合はビジュアルエディターモードの使用を許可している、falseの場合は許可していない、つまりコード(クラシックエディタはテキスト)エディターモードを使う事になる。
全てのビジュアルエディターを無効化
あらゆる場合においてビジュアルエディターを無効化する方法について。
次のフィルターフックを使う。
add_filter( 'user_can_richedit', '__return_false' );
特定の投稿でビジュアルエディターを無効化
特定の投稿の場合にビジュアルエディターを無効化する方法について。
次のフィルターフックを使う。
function disable_rich_editor_for_post( $wp_rich_edit ) {
$current_screen = get_current_screen();
// 固定ページの時
if( $current_screen->id === 'page' ) {
return false;
}
return $use_block_editor;
}
add_filter( 'user_can_richedit', 'disable_rich_editor_for_post', 10, 2 );