在特定帖子上禁用可视化编辑器

时间:2015-10-12 作者:Josh Pinto

我想在本地WordPress安装上禁用post id 416的可视化编辑器,为此(如下所示this answer) 我补充道:

add_filter( \'user_can_richedit\', \'wpse_58501_page_can_richedit\' );

function wpse_58501_page_can_richedit( $can )
{
    global $post;

    if ( 416 == $post->ID )
        return false;

    return $can;
}
在末端(在末端大括号之前}) 我的/wp-admin/functions.php 剧本然后,我重新加载了我打开的416帖子要编辑的选项卡(对我来说http://localhost/wp/wp-admin/post.php?post=416&action=edit) 令我惊讶的是,这篇文章仍然启用了可视化编辑器。

因此,我在这里想问一下如何禁用可视化编辑器,仅针对416篇文章。如果我有一个可以提供多个帖子ID的函数,以防我创建另一篇需要禁用可视化编辑器的帖子,那就太好了。

我对PHP脚本的了解相当有限,所以在回答这个问题时请记住这一点。

1 个回复
SO网友:dswebsme

我已经测试了您在启用和未启用WP编辑器插件的情况下提供的代码,在这两种情况下,“视觉”选项卡都被抑制。这意味着用户在post 416上被迫进入“文本”模式。

为了满足您的第二个请求,我修改了代码,允许您提供需要禁止“可视化”编辑的帖子列表。只需修改“$post\\u array”的值即可添加任意数量的帖子(下面的示例中我已经包含了3篇)。

add_filter( \'user_can_richedit\', \'wpse_58501_page_can_richedit\' );

function wpse_58501_page_can_richedit( $can )
{
    global $post;

    $post_array = array(1,416,247);

    if ( in_array($post->ID, $post_array) )
        return false;

    return $can;
}
如果代码仍然不适用于您,请禁用可能正在运行的其他插件,以防其他插件与此筛选器冲突。此外,如果仅抑制“视觉”选项卡还不够,请考虑在问题中添加一个屏幕截图,以明确指出可能需要抑制哪些内容才能更准确地解决您的问题。