私のサイトのテーマを一つ変更します。私は新しいテーマについても多くの変更をする必要があります。
だから私がやりたいことは、私は管理者だけのために新しいテーマをアクティブにする必要があるということです。他のユーザーがこのサイトにアクセスするときは、現在のテーマを使用する必要があります。
私は以下のコードを試してみましたが、うまくいきませんでした。それはサイトを壊します。
/*
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;
}
最初に、あなたのコードをインプリメントした後にエラーを得るために WordPressデバッグモード をアクティブにするべきです。私の側でもテストされたコードは動作するはずです。私はクライアントのインストールにそれを使用し、そして本当にうまくいきます。以下の私の情報源を見てください。ここでpopper
のようにテーマスラッグに正しい文字列を使うことが重要です。このコードは、テーマの中ではなく、インストールのプラグインとしても使用する必要があります。また、あなたのインストールが マルチサイト - テーマは各サイトで使用可能でなければならないというヒントもあり、テーマを切り替えるには小さなプラグインを使います。
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;
}