多言語対応サイトなどを制作する際、固定ページのコンテンツをテーマファイルではなく管理画面でコーディングする場合があります。
その際、投稿などでビジュアルエディターを使用し、その後固定ページを編集しようとすると、通常では前に使っていたエディターと同じものが初期表示されます。
管理画面でコーディングする場合はWordPressの自動補正機能など様々な機能が邪魔になることもあります。
今回は「管理画面で固定ページを編集する際、ビジュアルエディター使用不可、テキストエディターでの編集に固定」するためのコード例を以下に示します。
<?php
// functions.php に記載して使う
add_filter( 'user_can_richedit', 'disable_visual_editor_for_page' );
function disable_visual_editor_for_page( $default ) {
global $post;
if ( 'page' === $post->post_type ) {
return false;
}
return $default;
}
add_filter( 'wp_default_editor', 'set_default_editor_for_page' );
function set_default_editor_for_page( $default_editor ) {
global $post;
if ( 'page' === $post->post_type ) {
return 'tinymce';
}
return $default_editor;
}
2つのフックが重要で、
user_can_richeditでは固定ページの編集画面でのリッチエディタの使用を制限し、
wp_default_editorでデフォルトのエディタをテキストエディタを強制しています。