Как передать 2 переменные в Wordpress add_rewrite_rule - PullRequest
0 голосов
/ 01 марта 2020

В настоящее время я настраиваю правило перезаписи в WP, чтобы /hit-list/place/sydney показывало себя php как /hit-list/?tax=place&childtax=sydney

Я использовал это правило перезаписи, но оно не работает. Может кто-нибудь, пожалуйста, дайте мне знать, что я здесь делаю не так?

function hitListRules(){
  add_rewrite_rule(
    'hit-list/(.+?)/(.+?)/?$',
    'hit-list?tax=$matches[1]&childtax=$matches[2]',
    'top'
  );
}
add_action('init', 'hitListRules');

1 Ответ

0 голосов
/ 02 марта 2020

После долгих размышлений мне удалось самому разобраться;

//for registering the query variables
function hitList_register_query_vars($vars){
  $vars[] = 'parent_tax';
  $vars[] = 'child_tax';
  return $vars;
}
add_filter('query_vars', 'hitList_register_query_vars');

function hitList_pagination_rewrite(){
  //adding rewrite rule for 2 vars
  add_rewrite_rule(
    'hit-list/(.+?)/(.+?)/?$',
    'index.php?pagename=hit-list&parent_tax=$matches[1]&child_tax=$matches[2]',
    'top'
  );

  //adding rewrite rule for 1 var
  add_rewrite_rule(
    'hit-list/(.+?)/?$',
    'index.php?pagename=hit-list&parent_tax=$matches[1]',
    'top'
  );
}
add_action('init', 'hitList_pagination_rewrite');

И не забывайте грипп sh переписывать кеш после этого.

...