Les catégories sous WordPress sont actives pour vos articles mais comme n'importe quelle taxonomie vous pouvez en disposer pour d'autres types de contenus comme les pages. Cette technique permet de croiser l'information et d'utiliser l'identifiant de la catégorie dans vos URLS.

Commencez par créer un mu-plugin puis collez ces lignes de code à l’intérieur :

/* Activer le support des catégories pour les pages */
function wpc_cat_pages() {
	register_taxonomy_for_object_type('category', 'page');
}
add_action('init', 'wpc_cat_pages');

Une fois le fichier déposé dans votre répertoire /wp-content/mu-plugins/, retournez dans votre back-office WordPress puis notez l’apparition des catégories pour les pages. Le fonctionnement habituel opère, il suffit d’éditer un contenu pour lui assigner une catégorie.

J’ai appliqué cette technique sur ce site pour mes pages de prestations afin de disposer de la catégorie dans l’URL. Vous pouvez étendre cela à d’autres types de contenus personnalisés en passant un tableau de valeur à la ligne 3.

5 commentaires
  1. Jeremie

    Merci Aurélien, c’est super!
    J’ai une question:
    Pour configurer et afficher la catégorie d’un post on créé une page : « category.php »
    Pour un post type qui serait « produit » on créé la page: « taxonomy-categorie_produit.php »
    Et pour les catégorie de pages comment faut-il appeler la page d’appel?
    Est-ce « taxonomy-categorie_page.php » ?

    Merci d’avance

    1. Aurélien Denis auteur de l’article

      C’est inexact, on génère un fichier sous la forme taxonomy_nom_taxonomie.php et non avec le nom du type de contenu. Ensuite, il faut avoir recours à une fonction via pre_get_posts pour injecter des types de contenus additionnels dans category.php si nécessaire. En effet, par défaut cela ne reprendra que les articles.

  2. Bonjour
    En ayant ce snippet d’activé et sachant que mes permaliens sont réglés sur /%category%/%postname% comment se fait il que quand je crée une page et lui attribue une catégorie, cette catégorie n’est pas automatiquement incluse dans l’URL ?
    Merci

    1. Aurélien Denis auteur de l’article

      Bonjour Pascal, le tutoriel montre comment ajouter le support des catégories pour les pages mais cela ne suffit pas pour modifier la gestion des permaliens sur les pages. C’est plus complexe et je ne l’ai pas traité ici. Une extension comme Permalinks Customizer pourrait faire l’affaire.

Laisser un commentaire