web-dev-qa-db-fra.com

Activer un nouveau thème WordPress uniquement pour les administrateurs

Je vais changer le thème d'un de mes sites. J'ai besoin de faire beaucoup de changements aussi pour le nouveau thème.

Je souhaite donc activer le nouveau thème uniquement pour les administrateurs. Lorsqu'un autre utilisateur visite le site, il doit utiliser le thème actuel.

J'ai essayé de suivre le code mais cela n'a pas fonctionné. Ça casse le site.

Source: Afficher un thème différent pour l'administrateur?

/*
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
Ranuka

Au début, vous devriez activer le mode de débogage WordPress pour obtenir l'erreur après avoir implémenté votre code. Le code devrait fonctionner, également testé de mon côté. Je l'utilise sur une installation client et fonctionne vraiment bien. Voir ma source ci-dessous. Il est important que vous utilisiez la bonne chaîne pour le slug de thème, comme ici popper. Vous devez également utiliser ce code en tant que plug-in dans l'installation, pas dans un thème. Aussi, si votre installation est un multisite - le thème doit être utilisable pour chaque site, utilisez le petit plugin pour le changer.

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;
}
0
bueltge