特定の1ページからビジュアルエディタを削除したいのですが、ビジュアルモードでこの1ページを編集するとコードが壊れるためです。クライアントが特定のページにこのオプションを持っていないことを確認したいです。しかし、私はHTMLエディタを削除したくありません。
このコード行は、ビジュアルエディタとHTMLエディタを削除します。remove_post_type_support( 'page'、 'editor');
remove_post_type_supportを詳しく見てください: http://codex.wordpress.org/Function_Reference/remove_post_type_support
しかし、私はビジュアルエディタを無効にしたいだけです。
このテーマのfunctions.phpには、最初のテストとして、次のものがあります。
function remove_editor_init() {
if ( is_admin() ) {
if (is_page(2548)) {
remove_post_type_support('page', 'editor');
}
}
}
add_action('init', 'remove_editor_init');
しかし、条件文is_admin()とis_page()は一緒には動作しないようです。
助言がありますか?
あなたのコードでは、アクションadmin_init
を呼び出すことでis_admin()
は不要になります。そして、間違えなければ、 is_page()
はフロントエンドで使われることを意味しています...
しかし、解決策は次のとおりです( この回答 に基づく)。
add_filter( 'user_can_richedit', 'wpse_58501_page_can_richedit' );
function wpse_58501_page_can_richedit( $can )
{
global $post;
if ( 28 == $post->ID )
return false;
return $can;
}
これが私がこれを解決した方法です:
add_filter( 'admin_footer', 'removes_editor_visual_tab', 99 );
function removes_editor_visual_tab()
{
$post_id = $_GET['post'];
if($post_id == 1434){
?>
<style type="text/css">
a#content-tmce, a#content-tmce:hover {
display:none;
}
</style>
<script type="text/javascript">
jQuery(document).ready(function() {
document.getElementById("content-tmce").onclick = 'none';
});
</script>
<?php
}
}
これを反映させたいページIDを選択できます