Comment créer un site Web ou un blog en 2020 - Guide gratuit et facile pour créer un site Web

Le guide ultime des balises WordPress conditionnelles

Les balises WordPress conditionnelles sont une excellente fonctionnalité WordPress qui vous permet de contrôler le contenu affiché sur une page. Il existe des balises conditionnelles pour différentes zones de votre site Web, comme votre page d'accueil, les articles de blog et les pages. Cela vous permet de modifier ce qui est affiché sur votre site Web. Par exemple, vous pouvez modifier le logo de votre site Web dans différentes zones de votre site Web.

Dans ce tutoriel, je vais vous expliquer quelles balises conditionnelles sont disponibles et vous montrer comment elles peuvent être utilisées dans les thèmes et les plugins.

Fonctionnement des balises conditionnelles WordPress

Les étiquettes conditionnelles sont un type de données booléen qui ne peut renvoyer que vrai ou faux. La balise is_home (), par exemple, fait référence à l'index du blog. Nous pouvons utiliser cette balise pour afficher un message aux visiteurs de notre blog. Ce message ne sera pas affiché ailleurs.

Le code est simple. Tout ce que nous faisons ensuite est de vérifier si la page affichée est la page d'index du blog. Si oui, nous montrons notre message.


Ce qui précède est un exemple de base de ce qui peut être accompli en utilisant des balises conditionnelles, mais c'est essentiellement tout ce qu'il y a à faire. Vous vérifiez simplement le type de page qui s'affiche. Selon que le résultat est vrai ou faux, un autre morceau de code est activé.

Avant d'examiner d'autres exemples d'utilisation des balises conditionnelles, examinons d'abord les balises conditionnelles populaires que vous êtes susceptible de voir utilisées dans vos thèmes WordPress.

  • is_home () – Vérifie si l'index des articles de blog est affiché. Cela peut aussi être votre page d'accueil.

  • is_front_page () – Vérifie si votre page d'accueil s'affiche. Cela fonctionne si le paramètre de la page d'accueil est configuré pour afficher les articles de blog (c'est-à-dire l'index du blog) ou une page statique.

  • is_single () – Vérifie si un type de publication individuel est affiché (hors pièces jointes).

  • is_attachment () – Vérifie si une pièce jointe est affichée.

  • is_page () – Vérifie si une page est affichée.

  • is_singular () – Vérifie si une seule publication, pièce jointe ou page est affichée. True est retourné si l'une de ces conditions est remplie.

  • is_category () – Vérifie si une page d'archive de catégorie est affichée.

  • is_search () – Vérifie si une page de résultats de recherche est affichée.

  • is_tag () – Vérifiez si un fichier de balises est affiché.

  • is_author () – Vérifie si une page d'archive d'auteur est affichée.

  • is_archive () – Vérifie si une sorte de page d'archive est affichée, y compris les fichiers de catégorie, de balise, de date et d'auteur.

  • is_sticky () – Vérifie si une publication a été définie comme collante.

  • is_multi_author () – Vérifie si plusieurs auteurs ont publié des articles sur le site Web. True est retourné si deux personnes ou plus ont publié des articles. Si un seul auteur a publié des articles, ou si aucun article n'a été publié, il est renvoyé faux.

Il existe six balises conditionnelles temporelles qui seront également utiles. Ces balises font référence aux pages de date d'archivage. Par exemple, l'URL http://www.yourwebsite.com/2013/12/ est une page d'archive basée sur un mois.

Si l'une des balises conditionnelles suivantes renvoie vrai, is_archive () serait également vrai.

  • is_date () – Vérifiez s'il s'agit d'une page de fichier basée sur la date.

  • is_year () – Vérifiez s'il s'agit d'une page d'archive basée sur une année.

  • is_month () – Vérifiez s'il s'agit d'une page d'archive d'un mois.

  • is_day () – Vérifiez s'il s'agit d'une page d'archive basée sur le jour.

  • is_time () – Vérifiez s'il s'agit d'une page d'archive basée sur le temps.

  • is_new_day () – Vérifiez si aujourd'hui est un nouveau jour. Si le message actuel a été publié un jour différent de celui publié précédemment, ce serait à nouveau vrai. Faux sera retourné si les deux articles ont été publiés le même jour.

Vous rencontrerez fréquemment des balises conditionnelles comme is_home () et is_single (), mais vous n'avez pas besoin de vous souvenir de toutes ces balises conditionnelles. La plupart des utilisateurs de WordPress se réfèrent au codex WordPress pour la balise conditionnelle appropriée lorsqu'ils ont besoin de configurer une fonction conditionnelle.

Exemples d'étiquettes conditionnelles

De nombreuses étiquettes conditionnelles vous permettent de passer des paramètres à la fonction. Cela vous donne beaucoup plus de contrôle sur les conditions qui doivent être remplies avant que quelque chose ne se produise. is_page () en est un bon exemple. La balise vous permet de vérifier si la page affichée est une page. is_page () retournera la valeur true si une page est affichée, cependant vous devez spécifier le paramètre $ page si vous voulez être plus spécifique. Le paramètre $ page peut être l'ID de la page, le titre de la page ou le slug de la page.

Prenons un site Web normal qui a une page à propos et vous souhaitez personnaliser la page à propos différemment de toutes les autres pages. Par exemple, vous pouvez afficher une image de votre entreprise en haut de la barre latérale, ou vous pouvez afficher des informations supplémentaires en bas de la page sur.

Pour ce faire, vous devez définir le paramètre $ page. Si l'ID de page était 10, vous pouvez ouvrir votre instruction conditionnelle avec quelque chose comme ceci:

if ( is_page(10) ) {

Vous pouvez également spécifier une page spécifique en passant le titre de la page à la fonction.

if ( is_page( 'About Us' ) ) {

Le slug de page peut également être utilisé. Comme vous vous en souvenez peut-être, le slug sur la page est l'identifiant unique nommé à la fin de l'URL. Si l'URL de votre page sur www.yourwebsite.com/about-our-company/, le slug sur la page serait about-our-company.

if ( is_page( 'about-our-company' ) ) {

Certaines balises conditionnelles, comme is_page (), peuvent également transmettre des paramètres dans un tableau. L'instruction conditionnelle suivante renverra une valeur vraie si l'une des conditions est vraie.

if ( is_page( array( 10, 'About Us', 'about-our-company' ) ) ) {

Il est courant que les développeurs définissent plusieurs conditions lors de l'utilisation de balises conditionnelles. Revenons à la simple tâche d'afficher un message de bienvenue aux visiteurs du blog. C'est quelque chose qu'un site Web d'entreprise peut vouloir ajouter à votre zone de blog, mais pas à d'autres zones de votre site Web (par exemple, page d'accueil, page de contact, page, etc.).

Ils peuvent le faire en utilisant les balises conditionnelles is_home () et is_single (); représentant respectivement l'index du blog et les articles individuels. Pour afficher un message dans les deux zones, vous devez utiliser l'opérateur logique OR ||. Ceci est illustré dans le code suivant. L'instruction initiale if vérifie si la page est l'index du blog ou une seule publication. Si l'un ou l'autre est vrai, le message s'affiche.


Un autre opérateur logique très utile est l'opérateur AND &&. Ceci est utilisé lorsque vous souhaitez que deux ou plusieurs conditions soient remplies avant que quelque chose ne se déclenche. L'instruction if suivante vérifie si une page est à la fois une page d'archive et classée dans la catégorie des actualités. Sur les pages des catégories d'actualités, le message de bienvenue s'affiche. Rien n'apparaîtra dans les autres catégories.


Les opérateurs ET et OU peuvent être combinés. L'exemple suivant est tiré du modèle functions.php du thème WordPress par défaut Twenty Thirteen. La fonction est utilisée pour afficher le titre de la page dans le navigateur, mais seule une partie de la fonction est illustrée ci-dessous.

L'instruction if renvoie une valeur vraie s'il existe une description du site et que l'utilisateur consulte l'index du blog ou la page d'accueil. La description du site peut être entrée via le champ slogan dans sa zone de paramètres généraux. Si vous remplissez ce champ, dans votre index de blog et sur la page d'accueil, la barre de titre affichera «Titre du site | Description du site »(remarque: le séparateur est affiché en utilisant la chaîne $ sep dans le code ci-dessous). Si vous ne le faites pas, la barre de titre affichera "Titre du site".

Comme vous pouvez le voir, is_home et _is_front_page sont considérés comme une seule entité en raison de l'opérateur OR. C'est pourquoi ils sont placés entre crochets.

if ( $site_description && ( is_home() || is_front_page() ) )
		$title = "$title $sep $site_description";

Un autre opérateur PHP logique que vous pouvez utiliser est l'opérateur no! C'est plus pratique à utiliser dans de nombreuses circonstances. Par exemple, supposons que vous souhaitiez afficher une photo sur toutes vos pages à l'exception de vos fichiers. Il n'est pas nécessaire de mettre en place une longue déclaration conditionnelle demandant "Est-ce la page d'accueil, est-ce un seul article, est-ce une page …". Il est plus pratique de simplement demander "N'est-ce pas une page d'archive?".

Pour ce faire, ajoutez simplement un point d'exclamation avant la balise conditionnelle. Le code suivant montre à quel point cela est simple dans la pratique. Il affichera une image sur chaque page de votre site Web, à l'exception des pages d'archives.

  


Jusqu'à présent, nous avons vu des exemples de base d'étiquettes conditionnelles qui sont utilisées lorsque quelque chose est activé ou non (c'est-à-dire si A est vrai, faites B). En pratique, il y a généralement une autre action à entreprendre si une condition n'est pas remplie. En outre, plusieurs conditions peuvent être remplies, avec une réponse différente pour chacune.

Au lieu d'écrire de nombreuses instructions individuelles pour cela, il est pratique d'utiliser des instructions else et elseif. Cela vous permet un plus grand contrôle sur ce qui est affiché sur votre site Web.

Nous pouvons le démontrer à l'aide d'un exemple. Supposons que vous souhaitiez afficher un logo différent sur votre site Web dans différentes zones de votre site Web. Comment feriez-vous cela? La réponse est simple: nous utilisons des instructions else et elseif. Le code suivant montre comment cela peut être accompli.

  




















Selon la zone du site Web qu'un visiteur consulte, l'un des cinq logos sera affiché à l'aide du code ci-dessus. Il s'agit d'un exemple de base qui illustre la facilité avec laquelle les instructions else et elseif peuvent être utilisées pour contrôler de nombreuses zones différentes de votre site Web.

Les déclarations Elseif sont également utilisées ailleurs dans WordPress. La plupart des modèles functions.php les utilisent et de nombreux thèmes WordPress les utilisent pour changer la façon dont le titre de votre site Web est affiché dans les navigateurs.

Plus d'étiquettes conditionnelles

Plusieurs balises conditionnelles supplémentaires sont disponibles. Les développeurs utilisent plusieurs de ces thèmes et plugins.

Vous trouverez ci-dessous une liste de certaines des autres balises conditionnelles à votre disposition.

  • is_tax () – Vérifie si une page de fichier de taxonomie personnalisée est affichée.

  • has_term () – Vérifie si la publication actuelle a l'un des termes spécifiés.

  • taxonomy_exists () – Vérifie si le nom de la taxonomie existe.

  • post_type_exists () – Vérifie si un type de publication existe.

  • is_post_type_hierarchical ($ post_type) – Vérifie si le type de publication est hiérarchique.

  • is_post_type_archive () – Vérifie si la page d'archive d'un type de publication spécifique est affichée.

  • is_comments_popup () – Vérifie si la fenêtre de commentaire est ouverte.

  • comments_open () – Vérifiez si les commentaires sont autorisés pour le message ou la page en cours.

  • pings_open () – Vérifie si les pings sont autorisés pour le message ou la page en cours.

  • is_feed () – Vérifiez si la requête en cours concerne un flux.

  • is_404 () – Vérifie si une erreur 404 est affichée.

  • is_paged () – Vérifiez si la page que vous consultez actuellement est une page paginée autre que la page un. Les publications et les pages sont paginées lorsque vous utilisez la balise rapide de la page suivante dans votre contenu pour diviser les publications volumineuses.

  • is_trackback () – Vérifie si un trackback est utilisé.

  • is_admin () – Vérifie si l'utilisateur est connecté à la zone administrateur. Il n'est pas utilisé pour vérifier si un utilisateur dispose de privilèges d'administrateur, uniquement s'il est connecté au panneau de configuration WordPress.

  • is_page_template () – Vérifiez si la page affichée utilise un modèle de page. Un modèle de page spécifique peut être défini, si nécessaire.

  • is_preview () – Vérifie si un article de blog est affiché en mode brouillon.

  • has_excerpt () – Vérifie si la publication actuelle a un extrait. Des publications spécifiques peuvent être définies.

  • has_nav_menu () – Vérifiez si un emplacement de menu a un menu qui lui est affecté. Les développeurs de thèmes l'utilisent pour afficher quelque chose au cas où l'utilisateur n'aurait pas ajouté de menu.

  • in_the_loop () – Vérifiez si l'appelant est toujours dans la boucle WordPress.

  • is_active_sidebar ($ index) – Vérifie si une certaine barre latérale est utilisée.

  • is_multisite () – Vérifie si le multisite est pris en charge.

  • is_main_site () – Vérifie si un site multiple est le site principal sur le net.

  • is_super_admin () – Vérifie si un utilisateur est un super administrateur au sein du réseau.

  • is_plugin_active ($ plugin) – Vérifie si un plugin est activé.

  • is_child_theme () – Vérifie si un thème enfant est utilisé.

  • current_theme_supports ($ feature) – Vérifie si un thème prend en charge une fonction spécifique, comme les formats de publication ou les images en vedette.

Vérifiez également: Comment supprimer les taxonomies par défaut.

Les balises conditionnelles sont un concept WordPress important. En raison de leur utilité, il existe peu de thèmes WordPress conçus sans eux. Une fois que vous avez compris les instructions else, les instructions elseif et les opérateurs logiques tels que AND, OR et Not; vous pouvez traiter n'importe quelle fonction conditionnelle.

J'espère que ce guide vous a aidé à apprendre à utiliser des balises WordPress conditionnelles dans vos thèmes.

Si vous avez aimé cet article, rejoignez ThemeLab sur Twitter.