Comment Archiver les Publications et les pages WordPress
Que faites-vous du contenu WordPress publié que vous souhaitez supprimer de la vue publique mais que vous ne voulez pas mettre à la poubelle?
Vous l’archivez. Simple. Eh bien, non. Une fonctionnalité qui devrait sans doute être intégrée ou certainement facile à mettre en œuvre est en fait inutilement difficile. Cela n’aide pas non plus que WordPress brouille les eaux en utilisant le terme d’archive pour les messages plus anciens.
Dans cet article, je vais vous montrer comment archiver du contenu à l’aide du plugin Edit Flow pour faire le gros du travail.
Remarque: L’approche décrite dans cet article s’applique aux publications, aux pages et aux types de publications personnalisés. J’ai utilisé le terme « post » simplement pour plus de commodité.
Pour assurer l’archivage, nous devons ajouter une autre étape à la fin du processus de publication, une option après « publié », en ajoutant un nouveau statut de publication de « archivé ». L’archivage des publications consiste alors simplement à changer le statut de la publication au nouveau statut et à s’assurer que la publication archivée n’apparaît nulle part sur le site, y compris dans les résultats de recherche et les menus.
WordPress a huit statuts de publication intégrés et l’ajout à la liste est très facile. Cependant, des tâches simples telles que l’ajout du nouveau statut à la liste déroulante Statut de publication dans la boîte de méta Publication de l’écran d’édition de publication sont extrêmement difficiles. Sans filtre ou action utile disponible dans WordPress lui-même, la solution la plus courante utilise des acrobaties HTML assistées par jQuery pour forcer de nouveaux statuts dans l’interface utilisateur du navigateur. Pas exactement les meilleures pratiques de développement.
Heureusement, le plugin Edit Flow peut nous aider à étendre le flux de publication tout en évitant les querelles HTML côté client.
Installez le plugin Edit Flow
Edit Flow offre de nombreuses fonctionnalités pour gérer les publications dans un environnement d’équipe. Nous ne les aborderons pas ici, mais je vous recommande de lire la critique de Paul Kaiser sur le flux d’édition ici sur WPMU.org.
Désactivez les modules inutilisés
Pour l’instant, il nous suffit d’activer le module d’états personnalisés de Edit Flow, donc une fois installé, cliquez sur Edit Flow dans le menu principal et désactivez tous les modules à l’exception des états personnalisés.
Configurez les statuts
Cliquez sur Statuts personnalisés et,
- Faites du statut de brouillon le statut par défaut en passant votre souris sur « Brouillon » et en cliquant sur l’option de menu « Faire par défaut ».
- Supprimez tous les statuts à l’exception du brouillon (encore une fois, passez la souris sur le statut et cliquez sur l’option de menu Supprimer).
- Utilisez le formulaire « Ajouter un nouveau » pour ajouter un nouveau statut personnalisé de « Archivé ». Cliquez sur l’onglet « Options » et sélectionnez les types de publications que vous souhaitez archiver – des types de publications personnalisés sont également disponibles.
Maintenant, dans la boîte de méta Publication de l’écran d’édition de publication, la liste déroulante Statut affichera les Statuts personnalisés, y compris le nouveau statut archivé.
Pour archiver un article, sélectionnez simplement « Archivé » et cliquez sur « Mettre à jour ». Cela supprimera le message du front-end, y compris les recherches. Vous verrez également qu’un lien « Archivé », avec le nombre de publications, est ajouté aux liens d’état en haut de la page de liste des publications, vous donnant un accès rapide et facile aux publications archivées
Mais qu’en est-il des menus?
WordPress ignore le statut lorsqu’il s’agit de créer des menus. Si vous avez mis une page dans le menu, elle sera affichée même si son statut est archivé ou, en effet, brouillon.
Pour vous éviter d’avoir à vérifier vos menus à chaque fois que vous archivez une page, utilisez ce code soit dans vos fonctions.fichier php ou dans un simple plugin:
function remove_archived_from_menu($post) {_wp_delete_post_menu_item($post->ID);}add_action( 'publish_to_archived', 'remove_archived_from_menu');
Cela se connecte à l’action de changement d’état qui est déclenchée chaque fois qu’une publication change d’état. Dans ce cas, nous sommes intéressés par le passage de « publier » à « archiver » (il est peu probable que les éléments brouillons soient dans un menu). Lorsque ce changement se produit, nous voulons supprimer tout élément de menu avec l’ID de la publication.
L’archivage de contenu est une fonction assez basique d’un système de gestion de contenu et il est un peu surprenant que WordPress n’ait pas déjà cette fonctionnalité intégrée. Rouler votre propre solution est lourd et la solution la plus simple est un hack qui ne conviendrait pas à la plupart des développeurs.
L’utilisation de Edit Flow pour fournir l’archivage est une solution simple et sans piratage qui fournit non seulement une fonctionnalité d’archivage simple, mais également une introduction à un puissant plugin de gestion de contenu.