J'ai un site web qui a 2 sections chacune avec des CSS et des URL spécifiques différentes (c'est-à-dire testsite.com/one/one/ et testsite.com/two/) J'ai besoin d'appliquer des feuilles de style spécifiques à chacune de ces URL et de tous les chemins. Tomber sous celles (c'est-à-dire testsite.com/one/test testsite.com/one/test2, etc.), donc pour Testsite.com/one/One/* Tout bénéficierait d'un fichier CSS nommé one.css et pour testsite.com/two/ * Tout aurait un nom de fichier CSS deux.css
p>
<?php function wpdocs_theme_name_scripts() { if ( is_page( 'two') ) { // If page matches, then load the following files wp_enqueue_style('two', get_template_directory_uri().'/two.css',false,'1','screen' ); // If the condition tag does not match... } else { } } add_action( 'wp_enqueue_scripts', 'wpdocs_theme_name_scripts' );?>
3 Réponses :
Je n'ai pas testé cela, mais l'idée serait de localiser l'ancêtre de niveau supérieur et de comparer contre ce titre de poste / pages.
$post = get_post(); if ($post->post_parent) { $ancestors=get_post_ancestors($post->ID); $root=count($ancestors)-1; $parent = $ancestors[$root]; } else { $parent = $post->ID; } if(strtolower(get_the_title($parent)) == 'two') { wp_enqueue_style('two', get_template_directory_uri().'/two.css',false,'1','screen' ); }
Pas de chance. Il s'appliquait uniquement à la première page. Cela devrait-il avoir à voir avec ce que cela utilise "POST" au lieu de "page"?
Vous pouvez essayer de vérifier si l'URI demandé contient une chaîne d'identification de votre "sous-site".
code maintenant étendu à la démonstration, ESSIF et "ou" pour couvrir les questions des commentaires. questions dans les commentaires. em> p>
Très bien Et si je voulais ajouter une autre chaîne? Telle que / une /?
Merci d'avoir accepté des Ans. Pour plusieurs options CSS, vous pouvez étendre l'instruction IF dans un "si (un) d'autre (deux)" ou "si (trois) elsesif (deux)" d'autre (une) ", etc., vous utilisez un" si sinon "dans vos questions .
Ajout de chaînes supplémentaires pour montrer le même fichier CSS? si (Strows ($ Perma, '/ deux /' || '/ autre /')! == Faux) {wp_enqueue_style ('Two', get_template_directory_uri (). '/ Two.CSS', FAUX, '1 ','écran' ); } code> ne fonctionne pas quelle est la déclaration correcte "ou" "ici?
J'ai modifié la réponse originale pour couvrir ||, Elsesif et sinon. Integer 0 et String "0" sont évalués comme faux par PHP Toutes les autres valeurs String / int Eagayez comme étant vraie si vous ne placez pas '/ un autre /' dans sa propre fonction Strows, elle provoquera toujours que la clause soit évaluée comme vraie. J'espère que cela t'aides.
Cela peut dépendre de la question de savoir si vous spécifiez ou non les sous-pages ont une page parent. Ou s'ils sont simplement dans ce chemin.
Si les sous-pages ont une page spécifiée en tant que parent, vous pouvez le faire: p> s'il n'y a pas de parent spécifié, vous devez rechercher le Permalink comme indiqué ci-dessus par Scytale. P> p>
Tout d'abord, comment avez-vous créé le / un et / deux? Sont ces types de poste, catégories ou tags personnalisés?
Oui ce sont des pages. Imbriqué sous eux sont des pages enfants. Deux> Enfant 1> Enfant 2 etc ..