Voici mon dernier plugin pour WordPress : SF Archiver. A l’image de SF Pages For Custom Posts, son but est de faciliter l’affichage des types de post personnalisés sur son site. C’est d’ailleurs plus ou moins son remplaçant.
Ce que fait ce plugin
Dans la page d’administration du plugin, plusieurs options sont disponibles pour chaque CPT public dont vous disposez.
Les CPT peuvent parfois avoir des manques si l’on veut les afficher correctement sur notre site. En fait, il leur faut une propriété appelée « has_archive ». Une option permet d’activer cette propriété si elle ne l’est pas déjà.
Le plugin va aussi créer le flux RSS et permet d’insérer la balise <link/>
nécessaire dans le head du site.
On peut également définir un nombre de posts par page différent du réglage principal du site, ajouter les post types sur la page des articles (mélangés aux articles normaux donc), et les ajouter aussi au flux RSS principal du site (avec les articles).
Encore plus intéressant pour certains, on pourra également modifier le slug (la fin de l’url) de la page archive, ainsi que des posts (page single).
L’onglet d’aide est assez fournie pour comprendre les options du plugin.
Bon ok, mais ensuite?
C’est là où c’est le plus intéressant : aller dans Apparence -> Menus.
Une nouvelle boite appelée « Types d’articles » est disponible dans la colonne de gauche. Elle liste (wait for it) vos types de post personnalisés. Le fonctionnement est identique aux autres boites : choisissez votre CPT, et ajoutez-le à votre menu. Un lien vers la page d’archive d’un CPT est maintenant crée dans votre menu, il ne reste qu’à enregistrer le menu.
Petite précaution : lorsque l’on change le slug de la page d’archive, l’url du flux RSS change également, donc si vous avez ajouté un bouton sur votre site en copiant/collant la précédente url, il faudra la rectifier. La solution pour ne pas avoir de surprise c’est d’utiliser la fonction WordPress adéquate pour l’url :
1
<a href="<?php echo get_post_type_archive_feed_link('my-custom-post-type'); ?>">Flux RSS</a>
Par contre il faudra mettre à jour le lien du menu, c’est à dire le supprimer et le recréer (ou modifier l’url directement), car là il n’est pas possible que l’url se mette à jour toute seule.
Après le passage en version 1.1, refaites vos liens dans vos menus, leur url restera à jour si vous changez le slug de vos archives.
Installation minimale : WordPress 3.3
Langues : anglais et français
Compatible WPML (plugin WordPress Multilingual)
Compatible Multisite
Sécurité : review par @BoiteAWeb
WordPress Plugin Directory : SF Archiver
Avantages par rapport à SF Pages For Custom Posts
– Plus simple d’utilisation.
– Plus besoin de créer une page, on utilise directement l’archive du type de post.
– Contrairement à SF Pages For Custom Posts, la majeure partie du travail est faite dans l’administration, le plugin ne va pas chercher à transformer une page en archive puisqu’on utilise directement l’archive elle-même. Le résultat est aussi beaucoup plus « stable ».
Bugs connus
Depuis la 1.1, deux détails sur la page des menus :
– Lors de l’ajout d’un lien d’archive dans un menu (via javascript/ajax), apparition de 2 notices php en mode debug,
– Le lien « Original » n’apparait pas (voir la dernière capture, au-dessus de « Remove »).
Ces deux petits défauts sont dus aux limitations de WordPress, il n’y a pas à ma connaissance de moyen d’y remédier. Heureusement ils n’empêchent en rien le bon fonctionnement du plugin :)
Pour plus d’infos, voir la page dédiée au plugin (lien dans la sidebar).
Commentaires
Commentaire de Julio Potier @ BoiteAWeb.
Franchement, tu m’épates, c’est encore un super boulot et je pense que je vais utiliser ce plugin pour ma v3, j’ai pas mal de CPT et les afficher n’est pas simple de base.
Super, je RT ! :)
Commentaire de Greg.
Merci Julio :)
Si tu utilises des CPT créés par des plugins, alors en effet, SF Archiver peut t’être utile. Après, si c’est toi qui crée les CPT… tu fais ça directement dans le register ;)
Bon, la metabox ajoutée dans la page Menus te sera sûrement pratique mais tu connais suffisamment WordPress pour faire ça à la mano et ainsi te passer d’un plugin.
A+
Commentaire de Amaury.
Pour info, mon plugin « Simple Custom Types » gère très bien ces fonctionnalités. Déclaration des CPT + Vues Archive
http://wordpress.org/extend/plugins/simple-custom-types/
Je rappelle soit dit en passant que la gestion des archives des CPT est native dans WordPress, et que ce plugin met uniquement à la disposition de tous quelque chose réalisable avec l’API.
Commentaire de Greg.
Salut Amaury.
En effet j’avais vu ton plugin il y a un moment de ça. Un plugin très complet pour la création de CPT depuis l’administration à ce que j’ai pu en voir.
Les buts respectifs de nos plugins ne sont pas les même, pour moi ils ne sont pas concurrents car ils ne font pas les même choses. Ils seraient plutôt complémentaires.
Le but de ton plugin est de créer des CPT avec toutes les options possibles, et laisse la possibilité de les modifier plus tard aussi (dis moi si je me trompe).
Le mien intervient après. L’idée principale est de faciliter leur affichage sur le site, c’est ce qui correspond en gros à la metabox dans la page d’administration des menus.
Parce qu’une fois que le CPT est créé, on fait quoi? Comment on l’affiche? L’utilisateur lambda ne saura pas. Moi-même je faisais n’importe quoi au début, je créais une page avec une custom loop, etc. (et pan la 404 sur la page 2).
L’idée de la page de réglages pour activer l’archive et/ou modifier les slugs etc, est venue plus tard, histoire d’ajouter des fonctionnalités qui pourraient intéresser les utilisateurs, et qui en plus, empêcheraient le plugin de fonctionner correctement si elles n’étaient pas là.
En plus, ton plugin ne s’occupe que des CPT qu’il a lui-même crée, le mien c’est l’inverse (à la fois il n’en crée pas donc… ^^), il s’occupe des CPT publics créés ailleurs.
ce plugin met uniquement à la disposition de tous quelque chose réalisable avec l’API.
En effet, tout comme ton plugin, et tous ceux du repo WP.
A la différence que le mien permet d’ajouter facilement le lien d’une archive dans un menu, et ça c’est pas natif dans WordPress à moins de rentrer directement l’url en custom link.
A+
Commentaire de Anthony.
PIle ce que je cherchais, merci beaucoup !
(ajouter un CPT au RSS + au loop des articles)
Le fait d’avoir une page de réglages permet de faire des tests en toute simplicité !