仅为管理员激活新的WordPress主题

时间:2016-12-30 作者:Ranuka

我要改变我的一个网站的主题。我需要做很多的改变也为新的主题。

所以我想做的是,我只需要为管理员激活新主题。当任何其他用户访问该站点时,应使用当前主题。

我尝试了以下代码,但没有成功。它破坏了网站。

资料来源:Show different theme for admin?

/*
Plugin Name: Theme Switch if Admin
Description: Display different theme to user if logged in as admin
Author: Kyle Barber
*/
    add_filter(\'template\', \'change_theme\');
    add_filter(\'option_template\', \'change_theme\');
    add_filter(\'option_stylesheet\', \'change_theme\');
    function change_theme($theme) {
        if ( current_user_can(\'manage_options\') ) {
            $theme = \'twentyeleven\';
        }

        return $theme;
    }

1 个回复
最合适的回答,由SO网友:bueltge 整理而成

首先,你应该active the WordPress Debug mode 在实现代码后获取错误。代码应该可以工作,在我这方面也经过了测试。我在客户端安装中使用它,效果非常好。请参阅下面的我的来源。对于主题slug,使用正确的字符串很重要,如下所示popper. 您还应该在安装中使用此代码作为插件,而不是在主题中使用。还有提示,如果您的安装是multisite - 该主题必须适用于每个网站,有使用小插件切换主题。

add_filter( \'template\', \'fb_change_theme\' );
add_filter( \'option_template\', \'fb_change_theme\' );
add_filter( \'option_stylesheet\', \'fb_change_theme\' );
add_filter( \'pre_option_stylesheet\', \'fb_change_theme\' );
function fb_change_theme($theme) {

    if ( current_user_can( \'manage_options\' ) ) {
        $theme = \'popper\';
    }

    return $theme;
}

相关推荐

WP-ADMIN:“对不起,您不能访问此页面。”

两周后不使用我们的WP站点,登录/wp-admin/ 出现白屏错误:抱歉,不允许您访问此页面。我有:重命名plugins 到plugins.temp.通过phpMyAdmin创建了一个新的管理员用户。新用户已user_meta 的作用a:1:{s:13:"administrator";s:1:"1";}.</已重命名themes 到themes.temp.</删除核心WordPress文件,并替换为新上载的文件</已替换.htaccess 使用默认