URL pages WordPress utilisant catégories et sous catégories

Pour des raisons de référencement, il est important de soigner les URLS de ses pages catégories. Par exemple si les pages catégories doivent être référencées sur des zones géographiques et le nom de la catégorie, il faut que l’URL soit construite comme /zone-geographique/categorie. Zone-geographique et categorie étant des taxonomie personnalisées.

Définition d’une règle de réécriture

Nous allons dans un premier temps définir une règle de ré-écriture d’URL dans WordPress.

function custom_rewrite_rules() {
	flush_rewrite_rules();
	add_rewrite_rule( 
		'^prefixe/([^/]*)/([^/]*)?',
		'index.php?zone-geographique=$matches[1]&categorie=$matches[2]',
		'top' 
	);
	add_rewrite_tag('%zone-geographique%','([^&]+)');
}
add_action('init', 'custom_rewrite_rules');

Cette fonction déclare à WordPress l’ajout d’une URL de type :

www.mon-domaine.com/prefixe/zone-geographique/categorie

et permet aussi de déclarer le paramètre zone-geogrpahique pour pouvoir le réutiliser dans les template.

Modification de la wp_query pour récupérer les posts

Dans le template PHP associé à l’URL, qui devrait être le template correspondant à la taxonomie categorie (donc soit taxonomie.php soit taxonomie-categorie.php, on peut maintenant récupérer la catégorie, qui est renvoyé par la fonction get_queried_object(), et la zone-geographique qui est renvoyé par get_query_var(‘zone-geographique‘). Il faut alors modifier la tax_query pour récupérer les posts associé :

$args = array(
  'post_type' => 'custom-post-type',
  'tax_query' => array(
    'relation' => 'AND',
    array (
      'taxonomy' => 'zone-geographique',
      'field' => 'slug',
      'terms' => $around, // single post title corresponds with term
    ),
    array(
      'taxonomy' => 'categorie',
      'field' => 'id',
      'terms' => get_queried_object()->term_id,
    )
  ),
);
Découvrez nos prestations
Création de sites vitrines à Nîmes

.Site vitrine Wordpress

En savoir plus
Réalisation de site e-commerce Avignon

.Site e-commerce Woocommerce

En savoir plus
Hebergement site wordpress Nîmes

.Hébérgement site WordPress

En savoir plus

Commencer un projet ?

Exposez nous aujourd'hui vos nouvelles idées

Contactez-nous!