Les marqueurs conditionnels : Mais si vous savez is_single(), is_admin() tout ça !
Récemment j’ai eu envie de vous faire un article sur quelques fonctions appelées « Marqueurs Conditionnels » ou « Conditional Tags ». Mais n’ayant pas réussi à choisir, j’ai fait le fou …
Nom nom nom nom
J’ai remis à jour toute la documentation française sur le sujet, elle n’avait pas été mise à jour depuis 2009 ! J’y ai ajouté les marqueurs manquants, retouché le code, ajouté des exemples etc
La liste est longue, très longue, très très longue … Je vais essayer en une phrase de vous indiquer ce que fait chaque fonction. La plupart du temps, elle renvoie true
, sauf mention contraire.
Petite définition
Avant de me lancer, définissons d’abord ce qu’est un marqueur conditionnel et à quoi ça sert :
Un marqueur conditionnel est une fonction de WordPress permettant de vérifier une information. Elle commencent souvent par « is_ » et « has_ ». Ils servent afficher sur une page spécifique du contenu spécifique lui aussi, ou comment ce contenu doit être affiché en fonction de conditions que remplit cette page.
Par exemple, si vous voulez insérer un texte particulier au-dessus d’une série d’articles, mais seulement sur la page principale de votre blog, avec le Marqueur Conditionnel is_home()
, cela devient facile.
Listing, 3, 2, 1, partez
Dans mes définitions courtes, je vais utiliser le mot « page en cours », ce qui signifie en fait « la page, l’article, tout type de contenu (CPT) confondu, les archives, toute page de site », et non pas juste les articles de type « page ». S’il n’y a aucun paramètre dans mes exemples, cela veur dire qu’il est possible de l’utiliser sans, mais parfois des paramètres sont possible, à vous de regarder en détail. Par contre si je mets un paramètre c’est qu’il est obligatoire.
- comments_open() : Indique si la page en cours a les commentaires ouverts.
- is_404() : Indique si la page en cours est en erreur 404 page non trouvée.
- is_admin() : Indique si la page en cours est une page de l’administration.
- is_admin_bar_showing() : Indique si la barre d’outils (admin bar) s’affiche.
- is_archive() : Indique si la page en cours est une page d’archive (toutes confondues).
- is_attachment() : Indique si la page en cours est un attachement (un média).
- is_author() : Indique si la page en cours est l’archive d’un auteur du site.
- is_category( $category ) : Indique si la page en cours est associée à la catégorie $category. Le paramètre peut être un entier, un nom, un identifiant (slug).
- is_comments_popup() : Indique si la page en cours est la page des commentaires en popup.
- is_date() : Indique si la page en cours est une archive de date.
- is_day() : Indique si la page en cours est une archive de jour.
- is_feed() : Indique si la page en cours est une syndication de flux RSS.
- is_front_page() : Indique si la page en cours est une page d’accueil en mode « landing page ».
- is_home() : Indique si la page en cours ets la page d’accueil en mode « blog ».
- is_local_attachment( $url ) : Indique si $url passé en paramètre est un fichier de média sur notre site.
- is_main_query : Indique si nous sommes dans la requête principale (habituellement la Boucle) et non dans une sous-requête dans la page.
- is_multi_author : Indique si votre site a un ou plusieurs auteurs.
- is_month() : Indique si la page en cours est une archive de mois.
- is_new_day() : Indique si à cet instant T, nous sommes dans une nouvelle journée.
- is_page() : Indique si la page en cours est un article de type « page ».
- is_page_template() : Indique si la page en cours est chargée depuis un modèle de page (template) personnalisé (hors template WordPress natif).
- is_paged() : Indique si la page en cours est paginée, attention ne fonctionne pas pour des articles découpés.
- is_plugin_active( $plugin_path ) : Indique si le plugin $plugin_path est activé.
- is_plugin_active_for_network( $plugin_path ) : Indique si le plugin $plugin_path est activé sur un réseau multisite.
- is_plugin_inactive( $plugin_path ) : Indique si le plugin $plugin_path n’est pas activé.
- is_plugin_page() : – Déprécié – Indique si la page en cours est la page d’un plugin.
- is_post_type_archive( $post_type ) : Indique si la page en cours est une page d’archive de ce $post_type.
- is_preview() : Indique si la page en cours est une prévisulisation d’un article en brouillon.
- is_search() : Indique si la page en cours est une page de résultats de recherche.
- is_single() : Indique si la page en cours est un article de type « post ».
- is_singular() : Indique si la page en cours est un « post », une « page », ou un « attachement ».
- is_sticky() : Indique si l’article en cours est « mis en avant ».
- is_tag() : Indique si la page en cours est une archive de mot-clé.
- is_tax() : Indique si la page en cours est une archive d’une taxonomie personnalisée (ne fonctionne pas avec « catégory » ni « post_tag ».
- is_taxonomy_hierarchical( $taxonomy ) : Indique si $taxonomy est une taxonomie hiérarchique.
- is_time() : Indique si la page en cours est une archive basée sur le temps (heure, minute, seconde).
- is_trackback() : Indique si la page en cours est un trackback.
- is_year() : Indique si la page en cours est une archive d’année.
- in_category() : Indique si la page en cours est une archive de catégorie.
- in_the_loop() : Indique si nous sommes dans la Boucle.
- is_active_sidebar( $sidebar ) : Indique si $sidebar est une barre latérale active sur ce thème.
- is_active_widget( $widget_callback, $widget_id ) : Indique si $widget_callback et/ou $widget_id (un des deux suffit) est un widget activé sur ce site.
- is_blog_installed() : Indique si le site est bien installé.
- is_rtl() : Indique si la langue en cours se lit de droite à gauche (Right To Left, RTL).
- is_dynamic_sidebar() : Indique si la barre latérale courante a des widgets activés.
- is_user_logged_in() : Indique si l’utilisateur qui visite la page est connecté.
- has_excerpt() : Indique si la page en cours contient un résumé.
- has_post_thumbnail() : Indique si la page en cours contient une image à la une.
- has_tag() : Indique si la page en cours contient un mot-clé.
- pings_open() : Indique si la page en cours à les « ping » ouverts.
- email exists( $email ) : Indique si $email est déjà utilisé pour un membre sur ce site, si oui, renvoie l’ID de ce user.
- post_type_exists( $post_type ) : Indique si $post_type a bien été enregistré sur ce site.
- taxonomy_exists( $taxonomy ) : Indique si $taxonomy a bien été enregistrée sur ce site.
- term_exists( $term ) : Indique si $term existe, les second et 3ème paramètres sont optionnels.
- username exists( $username ) : Indique si $username a déjà été utilisé pour un membre inscrit sur le site, si oui, renvoie l’ID de ce user.
- wp_attachment_is_image( $post_id ) : Indique si l’article $post_id contient un attachement de type « image ».
- wp_script_is( $handle ) : Indique si le script $handle a bien été enregistré ou mis en queue, ou imprimé, ou à imprimer.
Ces pages ne sont pas toutes en français, dailleurs ici je vous ai lié les pages en anglais, si elle sont disponibles en français (peu le sont) vous trouverez en entête de chaque page de description un choix des langue possible.
La liste complète et mieux détaillée est donc sur la page des « Marqueurs Conditionnels« que je viens de finir.
Une liste principale est marqueurs les plus utilisés est disponible dans le Memento WordPress (non affilié) écrit par Jonathan Buttigieg, relu par mes soins.
Si j’ai oublié un marqueur, si j’ai dit des bêtises, merci de (me) corriger !
Vous aimez ? Partagez !
Partager la publication « Les marqueurs conditionnels : Mais si vous savez is_single(), is_admin() tout ça ! »
Réagir à cet article