Dans ce court tutoriel, nous examinons la classe de corps WordPress et comment nous pouvons la manipuler à l'aide d'appels d'API de base..
Plus précisément, nous couvrons l’ajout de classes de corps, la suppression de classes de corps, l’ajout conditionnel de classes de corps et certains cas d’utilisation..
le corps
class dans WordPress est une classe ou une série de classes qui sont appliquées à l'élément body HTML. Ceci est utile pour appliquer des styles uniques à différentes zones d’un site WordPress en tant que corps
les classes peuvent être ajoutées sous condition.
WordPress contient un certain nombre de classes de corps par défaut qui sont couvertes dans cet article.
Nous avons quelques méthodes à notre disposition pour ajouter de nouvelles classes de corps dans WordPress. Ce tutoriel va couvrir l’ajout de la classe body à un thème (généralement défini dans header.php
) en utilisant le body_class
fonction et ajout de classes à l'aide d'un filtre.
C'est un moyen très simple d'ajouter des classes de corps et qui est particulièrement utile si vous créez un thème. La classe body est normalement incluse dans un thème à l'aide du code suivant:
>
Pour ajouter votre propre classe à cela, vous pouvez passer un argument à la fonction, comme suit:
>
Cela ajouterait une classe de corps de Ma classe
sur chaque page de votre site WordPress.
Il se peut que vous souhaitiez ajouter plusieurs classes de corps. Ceci peut être réalisé en utilisant un tableau simple:
>
Cela prend toutes les classes du tableau et les passe au body_class
une fonction.
Vous pouvez également vouloir ajouter conditionnellement une classe de corps. C'est facile avec du PHP simple. Cet exemple utilise la méthode conditionnelle WooCommerce de is_shop ()
:
Remarque: WooCommerce ajoute déjà une classe basée sur cela, alors notez que ceci est purement un exemple..
Le code ci-dessus vérifie que la première fonction renvoie true. Si c'est le cas, la classe body a est-woocommerce-shop
ajouté à cela; sinon, si ce n'est pas le cas, seule la classe de corps par défaut est affichée..
Il est également possible d’utiliser un filtre WordPress pour ajouter une classe de corps. Cette méthode garde le code de thème plus propre et est particulièrement utile si vous souhaitez ajouter une classe de corps à partir d'un plugin. Ce code peut soit aller dans vos thèmes functions.php
ou dans votre plugin.
add_filter ('body_class', 'my_body_classes'); function my_body_classes ($ classes) $ classes [] = 'nom-classe'; retourne $ classes;
Cela ajoute une classe (ou des classes, selon votre implémentation) au tableau et les renvoie.
Pour ajouter plus de classes au filtre, ajoutez simplement une autre ligne qui ajoute une autre valeur au tableau:
add_filter ('body_class', 'my_body_classes'); function my_body_classes ($ classes) $ classes [] = 'nom-classe'; $ classes [] = 'nom-classe-deux'; retourne $ classes;
Les conditions peuvent également être utilisées dans un filtre. En prenant le même exemple que nous avons utilisé précédemment, nous pouvons obtenir le même effet:
add_filter ('body_class', 'my_body_classes'); function my_body_classes ($ classes) if (is_shop ()) $ classes [] = 'nom-classe'; $ classes [] = 'nom-classe-deux'; retourne $ classes;
Par défaut, WordPress ajoute une classe de corps pour votre modèle de page, mais si vous êtes un développeur front-end et que vous avez des conventions de dénomination pour votre CSS, vous pouvez modifier ce paramètre..
Par exemple, un modèle de page appelé "demi-moitié" aurait une classe de corps de page-template-page-half-half-php
- pas génial.
Ajoutons donc une nouvelle classe, en utilisant un filtre et une balise conditionnelle WordPress:
add_filter ('body_class', 'halfhalf_body_class'); function halfhalf_body_class ($ classes) if (is_page_template ('page-halfhalf.php')) $ classes [] = 'demi-page'; retourne $ classes;
Cela va ajouter la classe de corps demi-page
si le modèle de page est page-halfhalf.php
.
Il est peu probable que vous souhaitiez supprimer une classe de corps, car vous n'êtes pas obligé de les utiliser et ils ajoutent très peu à votre balisage. Cela dit, il est possible de le faire en utilisant le même body_class
filtre.
add_filter ('body_class', 'adjust_body_class'); function adjust_body_class ($ classes) foreach ($ classes en tant que $ key => $ valeur) if ($ valeur == 'woocommerce-page') unset ($ classes [$ key]); retourne $ classes;
Crédit: ce code est modifié à partir de cet article.
Dans cet exemple, nous parcourons le tableau des noms de classe, en supprimant le nom de la classe. woocommerce-page
s'il existe, puis en retournant les classes, moins celles qui ont été supprimées.
Dans ce petit tutoriel, nous avons présenté deux méthodes d’ajout à la classe de corps WordPress:
body_class
fonctionner dans un thème,Nous avons également expliqué comment ajouter des classes de corps conditionnellement et supprimer des classes, si cela devait se produire ultérieurement..