web-dev-qa-db-fra.com

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

J'aimerais tester quelques changements de thèmes sur mon site en direct, mais je ne veux évidemment pas que les utilisateurs réguliers voient les erreurs qui pourraient en découler. J'aimerais simplement dupliquer mon dossier de thèmes et si je suis connecté en tant qu'administrateur, ce thème est affiché, sinon l'ancien thème est présenté à mes utilisateurs.

Y a-t-il un plugin pour faire ça?

8
Kyle

Je viens d'écrire ce plugin rapide et cela semble fonctionner. Faites-moi savoir s'il y a un meilleur moyen.

<?php

/*
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;
    }
11
Kyle

Vous avez switch_theme() et current_user_can( 'manage_options' );, qui ne déclenchera que pour les comptes d’administrateur.

1
kaiser