Je passe maintenant des paramètres à un modèle personnalisé au format suivant
www.example.com/?pageid=12&rid=24&title=this-is-the-title
J'ai créé deux tableaux. J'ai donc besoin de récupérer des données et de les afficher sur ces pages.
J'aimerais qu'il utilise un format d'URL propre comme:
www.example.com/pageid/12/rid/24/title/this-is-the-title
Quelqu'un peut-il dire comment cela peut être réalisé?
Merci
url-rewriting
templates
page-template
htaccess
user7282
la source
la source
Réponses:
add_rewrite_rule()
vous permet de transformer la jolie URL en variables.(\d*)
/rid/
ou/pageid/
([a-zA-Z0-9-]+
Voici une classe pour enregistrer la réécriture et gérer la demande si une correspondance a été trouvée.
MISE À JOUR
J'ai trouvé un moyen plus simple de gérer cela.
http://example.com/pageid/333/rid/444/title/your-title-here/
Cette nouvelle façon utilise
add_rewrite_tag
with_
pour exécuter la requête pour l'ID d'une page sans gâcher la requête principale. Dans l'exemple ci-dessus,333
modifierait simplement la requête pour rechercher cet ID de publication danspre_get_posts
. Vous pouvez tout aussi facilement modifiertemplate_redirect
outemplate_include
.Pour référencer tous les paramètres passés ultérieurement:
RÉFÉRENCE
la source
Si vous voulez une solution simple, ce peut être celle-ci (vous n'avez pas testé le code, donc ce n'est peut-être pas aussi simple si cela ne fonctionne pas ...) ou tout au moins cela donne un indice sur ce que vous devez faire. Si vous visitez http://thereforei.am/2011/10/28/advanced-taxonomy-queries-with-pretty-urls/, vous trouverez un prix bonus: Un générateur de règles de réécriture dans l'article. Je l'ai utilisé auparavant, mais pas dans une situation exactement comme celle-ci. Essayez de combiner cette fonction avec quelque chose comme ceci:
Si vous ne souhaitez pas utiliser la fonction eg_generate_rewrite_rules, vous devez configurer les règles vous-même. Vous pouvez trouver des informations sur la façon de procéder dans cet article.
Plus d'informations: http://codex.wordpress.org/Rewrite_API/add_rewrite_tag
la source