J’ai toujours rêvé d’avoir un Tumblr « maison ». Un truc aussi simple et sexy qu’un Tumblr mais que t’installes chez toi. Depuis WordPress 3.1, c’est possible grâce aux Post Formats. Et ça peut donner des trucs sympas. Je ne les ai jamais utilisés, mais ça semble facile, donc je vais essayer de l’expliquer quand même.
Un Post Format = un type de Post
Alors, ces Post Formats, ça s’applique aux Posts. Donc, ça reste des Posts. C’est juste une différenciation plus poussée des Posts.
Equivalence avec Tumblr
Chez Tumblr, y a 7 types de posts : Text, Photo, Quote, Link, Chat, Audio, Video.
Chez WordPress, y a 9 + 1 types de Posts : Aside et Status, Image et Gallery, Quote, Link, Chat, Audio, Video, et Standard (pas de Format).
Tumblr | WordPress | Description |
---|---|---|
Text | Standard (pas de Format) | Texte complet |
Aside | Texte sans titre | |
Status | Texte très court, style Twitter status | |
Photo | Image | Une image |
Gallery | Plusieurs images | |
Quote | Quote | Une citation avec un auteur |
Link | Link | Un lien avec une description |
Chat | Chat | Une discussion entre plusieurs personnes |
Audio | Audio | Un fichier audio (pour Podcast par exemple) |
Video | Video | Une vidéo |
Activer les Post Formats
Encore une fois, ça se fait dans functions.php
:
add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
Il faut passer un array avec la liste des Post Formats que vous voulez utiliser.
La liste des Post Formats est définie par WordPress. Vous ne pouvez qu’utiliser les 9 prédéfinis. Sinon sera appliqué le format « Standard » qui correspond à « aucun format ».
Styler les Post Formats
L’idée est de récupérer le Format du Post est d’appeler une boucle différente selon les cas.
Pourquoi une boucle différente ? Disons que si vous créez un Post avec le Format « aside » (et donc sans titre), vous utiliserez une boucle sans appeler la fonction <?php the_title(); ?>
.
Du coup, pour vous faciliter la tâche, le site de WordPress préconise cette méthode plutôt intéressante :
$format = get_post_format(); get_template_part( 'format', $format );
D’abord, on récupère le Format du Post dans la variable $format
. Puis on appelle un template/include format-nomduformat.php
. Donc si le Post est du Format « gallery », le fichier utilisé sera format-gallery.php
.
Mon blog par exemple utilise 5 types de Post :
Il ne me reste plus qu’à vous diriger vers la dernière leçon qui regorge d’astuces très pratiques.