J'ai un type de message personnalisé appelé "emplacements".
J'ai un lieu appelé "starbucks". Je peux voir cela en allant à "/ location/starbucks".
J'aimerais ajouter "coffee-shop" à l'URL, de sorte que le chemin "/ location/coffee-shop/starbucks" chargera la page "starbucks" tout en conservant l'URL dans le navigateur.
j'ai ajouté ce code à mon functions.php
function add_rewrite_rules()
{
add_rewrite_rule('^location/([^/]*)/([^/]*)/?','index.php?pagename=$matches[2]','top');
}
add_action('init', 'add_rewrite_rules');
Qui charge correctement la page "starbucks", mais change l'URL en "/ location/starbucks".
Comment puis-je charger la page "starbucks" et conserver mon URL personnalisée?
Dans votre règle de réécriture, pagename
devrait en fait être le query_var
de votre type de publication personnalisé. Sauf si vous avez utilisé query_var => 'something_else'
dans vos arguments register_post_type
, ce sera le même nom que votre type de publication personnalisé:
index.php?locations=$matches[2]