Les arguments de style WordPress add_action fonctionnent mais modifient le panneau d’administration

Publié par Jean-Michel le

J’ai fait un code pour que vous puissiez facilement ajouter une feuille de style au site, c’est pour notre framework.

Cela fonctionne, mais si je l’utilise, le CSS modifie également la disposition du tableau de bord ? Même chose avec le personnalisateur, si je n’utilise pas cette méthode, mais juste une mise en file d’attente wp normale, cela fonctionne mais ce n’est pas ce que je veux.

    class theme_setup{
        function main_css_setup($css) {
            wp_enqueue_style( 'style', get_template_directory_uri().'/css/'.$css.'.css' );
        }
        function add_css_main($css){
            add_action( 'wp_enqueue_scripts', array($this, 'main_css_setup'),10,1 );
            do_action( 'wp_enqueue_scripts', $css );
        }
    }
$theme_setup = new theme_setup();
$theme_setup->add_css_main('main');

Changement de tableau de bord :
Premier exemple Deuxième exemple

Je pense que cela a quelque chose à voir avec le do_action, j’ai cherché sur mon meilleur comportement, mais sans aucune chance.

J’utilise le ‘ do_action‘ pour passer l’argument que l’utilisateur donne avec le add_css_main, je sais que je peux utiliser des variables globales, mais celles-ci sont « statiques », et cela fera disparaître l’idée d’une fonction flexible.

Mise à jour:

function themename_custom_logo_setup($height,$width) {
    $defaults = array(
        'height'      => $height,
        'width'       => $width,
        'flex-height' => true,
        'flex-width'  => true,
        'header-text' => array( 'site-title', 'site-description' ),
    );
    add_theme_support( 'custom-logo', $defaults );
}

    function add_custom_logo($width,$height){
    add_action( 'after_setup_theme', array($this, 'themename_custom_logo_setup' ),10,2);
    do_action( 'after_setup_theme', $height,$width);
}

$theme_setup->add_custom_logo(88,250);

Fonctionne, mais les variables ne sont même pas transmises du tout.

Solution n°1 trouvée

Cela devrait éviter de charger le CSS avec cette condition (peut-être l’appliquer ailleurs dans votre code) :

function add_css_main($css){
    if( !is_admin() ) {
        add_action( 'wp_enqueue_scripts', array($this, 'main_css_setup'),10,1 );
        do_action( 'wp_enqueue_scripts', $css );
    }
}

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *