Custom Post, Post format, categories, taxonomies…

Custom Post, Post format, catégories, taxonomies…

Cet article d‘OttoPress date, mais il me semble toujours d’actualité, tant la confusion entre ces termes et leur utilisation peut-être grande au départ quand on découvre wordpress. Je résume ici l’idée principale de l’article,concernant la classification des articles par catégorie ou par format d’article ( post-format )

Un Affichage variable selon la catégorie

Historiquement avec WordPress, les catégories l’emportent dans la classification des éléments sur un site.

Au départ il était simple de séparer ces articles en catégories, puis dans le code d’afficher le contenu sous condition:

si (in_category ( «apartés» )) {
// Trucs pour afficher post
} sinon (in_category ( «galerie» )) {
// code pour afficher le poste
} sinon {
// Code
}

Puis, au moment de la rédaction d’un post, on sélectionne la catégorie pour distinguer l’affichage.

les post format

Enfin arrivent les post format, censés résoudre le problème et alléger le travail des utilisateurs, ou plutôt étendre les possibilités de classification. Les Post format sont limités et pour cause , comme l’explique l’auteur, il vaut mieux partir d’une base commune, imposée par wordpress, plutôt que de laisser la liberté à chaque créateur de thème d’inventer ses posts formats, noyant encore plus le visiteur du site. Tous les thèmes utilisant les post format ont les mêmes, l’utilisateur est donc éduqué à leur utilisation.

Dans les thèmes par défaut de wordpress, voici la fonction qui déclare nos post format :

 // This theme supports a variety of post formats.
add_theme_support('post-formats', array('aside', 'image', 'link', 'quote', 'status','gallery','video','audio','chat'));

cela active les post format dans le backoffice.

post-formats

Ensuite, si l’on regarde page.php ou single.php par exemple, on y trouve :

  <?php get_template_part('content', get_post_format()); ?>

Cette fonction va aller chercher le post format que l’utilisateur aura coché lors de l’édition de l’article, et va donc nous renvoyer vers le fichier adéquat : content-link.php/content-image.php/content-video.php/content-gallery.php etc etc…pour l’afficher sur le site.
Et pour donner une apparence différentes aux articles, dans le css, on cible les mêmes éléments mais en indiquant le type de format:

article.format-image footer{...}
article.format-link header{...}
article.format-quote .entry-content p {...}
.format-status .entry-header h2{...}
article.format-aside .aside{...}

On a là une autre manière de classifier ces articles, ça multiplie les possibilités d’affichage d’un site.

A suivre….