the_taxonomies : La fonction de la semaine n°17

the_taxonomies : La fonction de la semaine n°17

Hier je vous ai fait un tutoriel sur les taxonomies et leurs termes. Il y a une fonction que j’ai vraiment bien aimé. Je vous en parle une peu plus en détail maintenant.

the_taxonomies

La fonction the_taxonomies est toute simple et permet d’afficher les taxonomies, TOUTES les taxonomies de l’article en cours OU d’un article de votre choix.

Et cela de façon très bien formatée avec assez de flexibilité pour ne pas avoir à entrer dans le code pour faire quelque-chose de beau.

Cette fonction prends quelques paramètres qui sont :

  • before : Le texte/HTML à afficher avant les taxonomies,
  • after : Le texte/HTML à afficher après les taxonomies,
  • sep : Le séparateur entre chaque taxonomie,
  • template : le format PHP qui affichera le nom de la taxonomie suivi de ses termes,
  • post : L’ID d’un post, si aucun n’est fourni, celui de la boucle sera lu.

Démo

Voici ce que ça donne sans aucun paramètre

the_taxonomies sans paramètres
the_taxonomies sans paramètres

C’est déjà pas mal ! En ligne avec les paramètres par défaut. Ce qui me gène ce sont les « : » collés au nom, il manque ici une traduction de la part de WordPress, je l’ai proposée, wait and see.

Démo 2

Voici ce que ça donne avec un minimum de paramétrage

"the_taxonomies" avec des paramètres
« the_taxonomies » avec des paramètres

J’ai maintenant une vraie liste UL/LI, les taxonomies en gras, mon espace avant les « : », bien mieux !

Un peu de code ?

Je vous propose un shortcode tout simple que vous pourrez réutiliser où vous voulez dans vos thèmes, plugins, templates, articles et pages. Ajoutez ce code dans le fichier fonctions.php de votre thème enfant ou dans un mu-plugins :

add_shortcode( 'taxonomies', 'sc_taxonomies' );
function sc_taxonomies( $atts ) {
	ob_start();
	the_taxonomies( $atts );
	$result = ob_get_contents();
	ob_end_clean();
	return $result;
}

Son utilisation est simple :

  • Sans paramètres : [taxonomies] (Capture 1)
  • Avec paramètres : [taxonomies sep= »</li><li> » before= »<p>Liste des taxonomies disponibles :<ul><li> » after= »</li></ul></p> » template= »<b>%s</b> : %l. »] (Capture 2)

C’est tout ! Envie de l’utiliser ?

Lire la suite

Vous aimez ? Partagez !

Abonnement gratuit à 0€


7 thoughts on “the_taxonomies : La fonction de la semaine n°17”

  • 1
    beneggen on 3 juillet 2014 Répondre
    Super article, merci pour le partage, fonction qui me sera très utile !

    (petit bug sur le lien « the_taxonomies » en dessous du titre, il doit manquer le « http:// »)

  • 3
    Greg@Screenfeed on 5 juillet 2014 Répondre
    Bien pratique en effet, et je ne connaissais pas.

    Il lui manquerait une chose je pense : pouvoir exclure une ou plusieurs taxonomies. Bien souvent dans nos thèmes on met ce genre de chose sous le titre d’un article : « Publié le {date} par {auteur} dans {catégorie}. ». Du coup, il faudrait pouvoir exclure la taxonomie category d’une éventuelle liste en fin d’article générée avec cette fonction. Je suppose qu’on peut tricher en modifiant la globale contenant les taxonomies (avant et après cette fonction).

    Merci pour le tuyau en tout cas :)

    • 4
      Julio Potier on 5 juillet 2014
      Trop bidouille, autant faire un the_terms() sur les taxos de ton choix non ?
    • 5
      Greg@Screenfeed on 6 juillet 2014
      Indid.
      Et sinon, c’est quand qu’on peut recevoir par email des notifs de nouveaux com’s ? :3 #pliz
    • 6
      Julio Potier on 6 juillet 2014
      v4 :s
  • 7
    mot cle on 21 novembre 2014 Répondre
    Merci pour le partage de cette astuce, cela peut nous permettre de faire un mini catalogue avec des liens automatiques entres les catégories.
    Penses tu que les mots clés en taxonomies sont encore bien pour le référencement de son site internet ?

Laisser un commentaire

Avant de parler, merci de lire la charte des commentaires.

Utiliser le tag [php][/php] pour ajouter du code ou utilisez un service comme pastebin.com.
Cibler un commentateur avec un "@", merci à Mention Comments Authors !