Actualités WordPress, CSS & Webdesign, OceanWP & Elementor.

Comment utiliser le widget de navigation de publication d’Elementor PRO avec vos pages WordPress ? En leur ajoutant des catégories !

Il m’arrive régulièrement d’avoir besoin de mettre en place une navigation entre certaines pages de mes sites au moyen du widget de navigation d’Elementor PRO. Ce dernier utilise les catégories pour définir quelles publications seront impactée par la navigation. Le problème est donc d’ajouter des catégories aux pages WordPress.

Une solution avec l’extension Category Tag Pages pour WordPress

Avec WordPress on a toujours une solution via les extensions, je vous propose d’essayer Category Tag Pages mais j’essaye toujours de trouver une solution plus inclusive via un thème enfant ou l’extension Code Snippet pour embarquer des fonctions PHP directement. On évite ainsi de surcharger l’administration WP et le core.

La bonne solution via une fonction PHP embarquée

On dit souvent qu’il faut créer ou utiliser un thème enfant avec WordPress, si cela ne vous semble pas évident sachez que dans bien des cas c’est votre planche de salut pour approfondir le fonctionnement de votre site, vos Custom posts type, votre boutique Woocommerce. Ajouter un fonction PHP nécessite un thème enfant ou l’usage de l’extension Code Snippet qui permet d’ajouter des fonctions dans n’importe qu’elle configuration WP.

Le code ci-dessous ajoute une section de catégories au page totalement autonome des catégories d’articles ou de CPT, vous devez par contre changer le terme theme-domain par celui du thème utilisé (normalement le nom du dossier du thème). Voici le code :

// Register Taxonomy Catégorie de page
// Taxonomy Key : categorie_pages
function create_categorie_pages_tax() {

	$labels = array(
		'name'              => _x( 'Catégories des pages', 'taxonomy general name', ’theme-domain' ),
		'singular_name'     => _x( 'Catégorie de la page', 'taxonomy singular name', 'theme-domain' ),
		'search_items'      => __( 'Rechercher une catégorie de page', 'theme-domain' ),
		'all_items'         => __( 'Toutes les catégories de pages', 'theme-domain' ),
		'parent_item'       => __( 'Catégorie parente de la page', 'theme-domain' ),
		'parent_item_colon' => __( 'Parent de la catégorie de page :', 'theme-domain' ),
		'edit_item'         => __( 'Modifier la catégorie de page', 'theme-domain' ),
		'update_item'       => __( 'Mettre à jour la catégorie de page', 'theme-domain' ),
		'add_new_item'      => __( 'Ajouter une nouvelle catégorie de page', 'theme-domain' ),
		'new_item_name'     => __( 'Nouveau nom de catégorie de page', 'theme-domain' ),
		'menu_name'         => __( 'Catégories de page', 'theme-domain' ),
	);
	$args = array(
		'labels' => $labels,
		'description' => __( 'Mes pages', 'theme-domain' ),
		'hierarchical' => true,
		'public' => true,
		'publicly_queryable' => true,
		'show_ui' => true,
		'show_in_menu' => true,
		'show_in_nav_menus' => true,
		'show_in_rest' => true,
		'show_tagcloud' => true,
		'show_in_quick_edit' => true,
		'show_admin_column' => true,
	);
	register_taxonomy( 'categorie-pages', array('page', ), $args );

}
add_action( 'init', 'create_categorie_pages_tax' );

Le code ci-dessus est à ajouter au fichier functions.php de votre thème enfant ou dans un nouvel extrait de code avec l’extension Code Snipet.

Une fois en place, vous obtiendrez un nouveau menu de catégories de page où vous pouvez ajouter les catégories qui vont vous permettre de créer une navigation entre page ciblées.

Naviguer seulement entre certaines pages WordPress avec Elementor PRO

Dès que vous avez classifié les pages avec les catégories vous pouvez ajouter un modèle de page avec des conditions d’affichage liées aux catégories de page ciblées. Ainsi lorsque vous naviguez sur une page vous obtenez une navigation n’incluant que les pages de la même catégorie. Notez que l’ordre des pages dans la navigation est chronologique (date de création) et ne suit pas l’ordre admin des pages.

Bonne utilisation.

Sources : Category Tag Pages, Post navigation widget Elementor PRO

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Fermer le menu