====== Ajouter un paramètre de tri custom à la page d'archive ====== [[https://codex.wordpress.org/Custom_Queries|Tuto officiel du Codex]] - [[https://wordpress.stackexchange.com/questions/9870/how-do-you-create-a-virtual-page-in-wordpress|Exemple utile]] - **Penser à flush les permaliens à chaque fois pour voir les changements** query_vars['realisation']) ) { if($query->query_vars['realisation'] == 'terrains-a-vendre' || $query->query_vars['realisation'] == 'realisations') { $query->set('meta_key', 'terrain_a_vendre'); $query->set('meta_value', $query->query_vars['realisation']); } } } public function realisation_add_rewrite_rules ( $wp_rewrite ) { $new_rules = array( 'terrains-a-vendre\/([^/]+)' => 'index.php?terrain-region=$matches[1]&post_type=terrains&realisation=terrains-a-vendre', 'realisations\/([^/]+)' => 'index.php?terrain-region=$matches[1]&post_type=terrains&realisation=realisations', 'terrains-a-vendre$' => 'index.php?post_type=terrains&realisation=terrains-a-vendre', 'realisations$' => 'index.php?post_type=terrains&realisation=realisations', ); //​ Add the new rewrite rule into the top of the global rules array $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } } ==== Note sur le REGEX ==== [[http://www.rexegg.com/regex-capture.html]] => il est impossible de récupérer plusieurs groupe récursivement et de les appliquer à différentes variables, le REGEX n'est pas fait pour ça. On peut les rentrer en dur ou juste récupérer un mot clé et renvoyer tout ce qui suit et le parser. Pour faire ça : 'service-technique\/(.+)' => 'index.php?service_technique=$matches[1]', // ... $st_slug = explode( '/', $st_slug );