Les arguments de style WordPress add_action fonctionnent mais modifient le panneau d’administration
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 );
}
}
0 commentaire