Désactiver une taxonomie WordPress

Les extensions et les thèmes WordPress ont souvent recours aux taxonomies afin de classer vos contenus et ainsi proposer des filtres de recherche pour vos utilisateurs. En natif, les catégories et les étiquettes sont des taxonomies pour les articles mais la plupart des projets en utilisent pour couvrir leurs propres besoins. Un simple hook nous permet de les désactiver.

N.B : l’astuce présentée ici ne s’applique pas aux catégories et aux étiquettes de WordPress. De plus, ce type de modification n’est pas sans conséquence : il est probable que vous deviez adapter votre thème et / ou les extensions concernées.

Dans le fichier functions.php de votre thème ou via un mu-plugins, collez ces ligne de code :

<?php if (!defined('ABSPATH')) die('Restricted Area');

/*
* Plugin Name: Unregister Taxonomies
* Description: Properly disable any WordPress taxonomy.
* Version: 20160901
* Author: Aurélien Denis (Neticpro)
* Author URI: https://wpchannel.com/desactiver-taxonomie-type-de-contenu-personnalise/
*/

function wpc_unregister_job_listing_type() {
	unregister_taxonomy('job_listing_type'); // Specify the taxonomy to unregister
}
add_action('init', 'wpc_unregister_job_listing_type');

Vous devez modifier la ligne 12 et spécifier les taxonomies que vous souhaitez désactiver. Pour l’identifier, ouvrez celle concernée dans votre back-office puis récupérez l’identifiant à partir de l’URL. Un exemple ci-dessous avec l’extension WP Job Manager pour les types d’offres :

/wp-admin/edit-tags.php?taxonomy=job_listing_type&post_type=job_listing

Ici, la taxonomie est job_listing_type.

Notez que la désactivation d’une taxonomie ne supprime en rien les termes qui lui auraient été préalablement affectés. Je vous recommande donc de les supprimer en amont. Une fois le code en place, vous obtiendrez le message suivant :

wordpress-taxonomie-invalide

Retirez les lignes de code et vous pourrez de nouveau utiliser la taxonomie.

Prenez garde également à d’éventuelles erreurs PHP qui pourraient survenir. En effet, certaines fonctionnalités d’un thème ou d’une extension dépendent bien souvent de la présence d’une taxonomie.

Au delà de l’aspect simplificateur du back-office pour votre client, la désactivation d’une taxonomie prévient la création de termes inutiles bien souvent néfastes pour votre référencement…

Laisser un commentaire