Contenu principal

SF Archiver

SF Archiver est le remplaçant de SF Pages For Custom Posts, son but est de faciliter l’affichage des CPT sur son site.

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à. En fait, cette possibilité est secondaire aujourd’hui car les développeurs prennent mieux en compte ceci.
Le plugin va aussi créer le flux RSS et permet d’insérer la balise <link/> nécessaire dans la balise <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 celui des posts (page single).

L’onglet d’aide est assez fournie pour comprendre les options du plugin.
SF Archiver - Settings

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 vos types de contenu 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.
SF Archiver - Menus

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>

Langues : anglais et français
Compatible WPML (plugin WordPress Multilingual)
Compatible Multisite
Sécurité : review par @BoiteAWeb

Hooks disponibles :

add_filter('w3p-acpt-types-in-posts-page', 'my_types_in_posts_page'); permet de filtrer les types de posts à ajouter à la page des articles (on peut s’en servir pour ne pas afficher les articles par exemple, uniquement les types personnalisés).

12345
add_filter('w3p-acpt-types-in-posts-page', 'my_types_in_posts_page');
function my_types_in_posts_page($types) {
	unset($types[0]);		// Index 0 is for post
	return $types;
}

add_filter('w3p-acpt-types-in-main-feed', 'my_types_in_main_feed'); permet de filtrer les types de posts à ajouter au flux RSS principal (même chose, on peut enlever les articles normaux par exemple).

12345
add_filter('w3p-acpt-types-in-main-feed', 'my_types_in_main_feed');
function my_types_in_main_feed($types) {
	unset($types[0]);		// Index 0 is for post
	return $types;
}

add_filter('post_type_feed_title', 'my_type_feed_title', 10, 2); permet de modifier le titre d’un flux RSS.

1234567
add_filter('post_type_feed_title', 'my_type_feed_title', 10, 2);
function my_type_feed_title($title, $type) {
	if ( $type != 'my-custom-post-type' )
		return $title;

	return get_bloginfo( 'name' ).' - Subscribe to « %s »';	// %s is the post type label
}

Le code ci-dessus affichera : Mon Site – Subscribe to « My CPT »