Cum pot rescrie un URL de tip 'page' bazat pe parametrii din șirul de interogare?
Am următoarea pagină care conține un singur post și mai multe comentarii:
http://mysite.com/tips
Când un utilizator postează un comentariu, adaug metadate la acesta pentru a putea filtra comentariile folosind aceste URL-uri:
http://mysite/tips?id=cat&filter_id=1
http://mysite/tips?id=dog&filter_id=2
Doresc să folosesc următoarele URL-uri în schimb:
http://mysite/tips/cat
http://mysite/tips/dog
Pagina tips afișează o listă de postări bazată pe parametrii din șirul de interogare.
Am urmărit acest tutorial, care părea să fie exact ceea ce am nevoie, dar când introduc URL-ul meu, primesc o eroare de pagină negăsită. http://thereforei.am/2011/10/28/advanced-taxonomy-queries-with-pretty-urls/
Este posibil acest lucru?

Puteți adăuga o regulă de rescriere precum următoarea. Asigurați-vă că înregistrați variabilele de interogare publice cu WordPress, astfel încât acesta să recunoască variabilele din regula de rescriere.
add_rewrite_rule('^(tips)/([^/]*)/([^/]*)/?', 'index.php?name=$matches[1]&id=$matches[2]&filter_id=$matches[3]','top');
add_filter('query_vars', 'foo_my_query_vars');
function foo_my_query_vars($vars){
$vars[] = 'id';
$vars[] = 'filter_id';
return $vars;
}
Accesați pagina Setări de legături permanente pentru a reîmprospăta legăturile permanente.
Puteți accesa variabilele dvs. după cum urmează:
$id = get_query_var('id');
$filter_id = get_query_var('filter_id');
Notă, doriți să aveți două variabile dinamice cu un singur segment de URI, ceea ce nu va funcționa deloc. Regula de rescriere de mai sus funcționează pentru tips/cat/1 (unde 1 este filter_id).
Pentru a vă testa regulile, vă recomand să utilizați Monkeyman Rewrite Analyzer.
Sper că acest lucru vă este de ajutor!

Puteți utiliza funcția add_query_arg
:
add_query_arg('filter_id', 1);
add_query_arg('filter_id', 2);
Acum adresele URL arată astfel:
http://mysite/tips/cat?filter_id=1
http:// mysite/tips/dog?filter_id=2
Puteți obține valorile argumentelor în felul următor:
$id = get_query_var('id');
$filter_id = get_query_var('filter_id');
Aici găsiți mai multe informații despre add_query_arg

Cred că dorești să schimbi stilul Permalink-ului. Poți modifica Permalink-ul site-ului tău prin panoul de administrare WordPress. Mergi în WordPress și apoi în meniul lateral, navighează la "Setări", unde vei găsi un sub-meniu numit "Permalinks". Dacă dai click pe el, vei vedea mai multe tipuri de Permalinks oferite de WordPress și poți crea chiar un Permalink personalizat. Uită-te la imaginea de mai jos, sper că te va ajuta:
