删除特定页面上的Visual Editor

时间:2013-03-27 07:45:51

标签: wordpress

我一直在尝试从特定页面中删除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

4 个答案:

答案 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
    }
}