Ajout à la classe de corps dans WordPress

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..

La classe de corps: à quoi cela peut-il servir??

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. 

Ajout à la classe de corps

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.

Modification du thème: transmission d'une valeur de classe de corps

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.

Ajout de plusieurs classes de corps

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.

Ajout conditionnel d'une classe de corps

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..

Ajout d'une classe de corps par filtre

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.

Ajout de plusieurs classes de corps par filtre

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; 

Ajout conditionnel d'une classe de corps par filtre

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; 

Ajout d'une classe de corps basée sur le modèle de page

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.

Enlever une classe de corps

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.

C'est tout le monde!

Dans ce petit tutoriel, nous avons présenté deux méthodes d’ajout à la classe de corps WordPress:

  1. En utilisant le body_class fonctionner dans un thème,
  2. Et en utilisant un filtre. 

Nous avons également expliqué comment ajouter des classes de corps conditionnellement et supprimer des classes, si cela devait se produire ultérieurement..