如何禁用WordPress主题编辑器

时间:2014-08-11 05:38:54

标签: php wordpress wordpress-theming

我知道如何在特定的WordPress网站中禁用插件/主题编辑器。

我的问题:是否可以从主题的functions.php文件中停用编辑器?

我的想法是在我的主题处于活动状态时默认关闭它;但是,一旦接受了一些警告,就可以通过主题选项页面重新启用编辑器。 (WordPress 应该正在做的事情,但无论出于何种原因,都没有。)

除此之外,所讨论的特定主题非常先进。这意味着即使是那些知道自己在做什么的人也会在没有意识到的情况下弄乱它。

3 个答案:

答案 0 :(得分:4)

尼克,您可以尝试使用动作来调用functions.php中的函数来禁用编辑器,但是wordpress没有提供任何方法来禁用主题编辑器。如果您使用DISALLOW_FILE_EDIT,那么您的插件编辑器也将被禁用。

我觉得你应该尝试以下方法来禁用你主题的functions.php中的编辑器。

    function disable_mytheme_action() {
      define('DISALLOW_FILE_EDIT', TRUE);
    }
    add_action('init','disable_mytheme_action');

您还可以定义一些选项并检查上面的功能并相应地控制禁用文件编辑。

答案 1 :(得分:0)

一位朋友最终为我回答了这个,所以对于googlers来说:

functions.php中的

if (in_array($GLOBALS['pagenow'], array('theme-editor.php'))) {
    if (get_option('theme_editor') != TRUE) {
        wp_die('<p>'.__('In order to edit this theme, you must first re-enable the theme editor via the <a href="'.theme::options_uri().'">Theme Options</a> page').'</p>');
    }
}

确保您允许用户通过“主题选项”页面重新启用主题编辑器。听起来很傻,有些人真的很喜欢它,并且想要它。

我最后在重新启用按钮周围添加了一个非常明显的警告,如:JSFiddle

答案 2 :(得分:-1)

打开你的wp-config.php文件添加代码

define( 'DISALLOW_FILE_EDIT', true );

或尝试此扩展程序

https://wordpress.org/plugins/disable-theme-and-plugin-editor/