我要改变我的一个网站的主题。我需要做很多的改变也为新的主题。
所以我想做的是,我只需要为管理员激活新主题。当任何其他用户访问该站点时,应使用当前主题。
我尝试了以下代码,但没有成功。它破坏了网站。
资料来源: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;
}
最合适的回答,由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;
}