Отключить визуальный редактор на одной определенной странице
Я хотел бы удалить визуальный редактор с одной конкретной страницы, потому что, если я отредактирую эту страницу в визуальном режиме, это нарушит код. Я хочу убедиться, что у клиента нет этой опции на конкретной странице. Однако я не хочу удалять редактор html.
Эта строка кода удаляет визуальный редактор и редактор html: 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(), похоже, не работают вместе.
Есть какие-нибудь предложения?
2 answers
В вашем коде вызов действия 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
}
}
Вы можете выбрать идентификаторы страниц, на которых вы хотели бы это отразить