Plusieurs fichiers CSS Thème enfant wordpress
J’espère que vous êtes reconnaissant, j’ai quelques problèmes avec le chargement de fichiers séparés basés sur la variable url dans wordpress. J’ai pensé qu’il serait préférable de le faire dans le fichier de fonctions du thème enfant. code ci-dessous :
$getURLVar = explode("/",$_SERVER['REQUEST_URI']);
if($getURLVar[1] == "temp"){
$uri_based_style = 'style-temp.css';
} else {
$uri_based_style = 'style.css';
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles',999 );
function theme_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . $uri_based_style,
array( $parent_style )
);
}
Je n’arrive pas à lui faire charger le fichier. Les deux fichiers CSS sont basés dans le répertoire du thème enfant. Est-ce que quelqu’un a une idée?
Cordialement
Solution n°1 trouvée
Votre problème est la portée variable . Vous avez défini la variable en dehors de la fonction, elle n’est donc pas disponible par défaut dans la fonction. Par souci de simplicité, déclarez-le simplement dans la fonction, comme ceci :
function theme_enqueue_styles() {
$getURLVar = explode("/",$_SERVER['REQUEST_URI']);
if($getURLVar[1] == "temp"){
$uri_based_style = 'style-temp.css';
} else {
$uri_based_style = 'style.css';
}
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . $uri_based_style,
array( $parent_style )
);
}
Sinon…
Si pour une raison quelconque vous voulez/avez vraiment besoin de le déclarer en dehors de la fonction, utilisez global
, comme ceci :
$getURLVar = explode("/",$_SERVER['REQUEST_URI']);
if($getURLVar[1] == "temp"){
$uri_based_style = 'style-temp.css';
} else {
$uri_based_style = 'style.css';
}
function theme_enqueue_styles() {
// global in the variable here so you can use it in the function
global $uri_based_style;
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
wp_enqueue_style( 'child-style',
get_stylesheet_directory_uri() . $uri_based_style,
array( $parent_style )
);
}
0 commentaire