我一直在尝试从特定页面中删除Visual Editor。我设法使用此代码
从所有页面中删除Visual编辑器add_filter( 'user_can_richedit', 'patrick_user_can_richedit');
function patrick_user_can_richedit($c) {
global $post_type;
if ('page' == $post_type)
return false;
return $c;
}
有什么办法可以从一个页面中删除可视化编辑器吗?我正在使用Wordpress
答案 0 :(得分:5)
Geez ...你要发布这个问题的论坛数量是多少?大声笑......这与我在.org论坛上发布的解决方案相同......但是......
我告诉过你更好的解决方案是不修改核心WP文件,只需使用这样的插件:Disable WYSIWYG on Specific Pages or Posts
这样,您就不会修改核心WP文件,当您更新WP时,您不会丢失所有更改...因此您无需保留个人更改日志。
记住规则:“如果有疑问,请不要”......如果您正在考虑更改所有的PHP文件,并且您不确定是否应该这样做,请不要。
答案 1 :(得分:2)
这对我有用
// removes rich text editor for certain pages
function remove_pages_editor(){
if(get_the_ID() === 95) {
remove_post_type_support( 'page', 'editor' );
} // end if
} // end remove_pages_editor
add_action( 'add_meta_boxes', 'remove_pages_editor' );
答案 2 :(得分:1)
您可以使用一些插件添加自定义字段(高级自定义字段是最好的),然后在以下代码中使用它:
add_filter( 'user_can_richedit', 'on_post_user_can_richedit');
function on_post_user_can_richedit($c) {
global $post_type;
$sw_off_visual_editor = get_field('sw_off_visual_editor');
if(!empty($sw_off_visual_editor) && $sw_off_visual_editor[0] == 1)
return false;
return $c;
}
我添加了自定义复选框,从get_field('sw_off_visual_editor')获取;然后测试它$ sw_off_visual_editor [0] == 1.
答案 3 :(得分:-1)
要仅删除[Visual]选项卡,并强制HTML / TEXT,这将起作用。您可以将其他page_id添加到if命令以定位其他页面。
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
}
}