Как условно сопоставить группу в регулярных выражениях? - PullRequest
0 голосов
/ 01 июля 2019

вот они.Они работают правильно.Первое соответствует /[lang]/inspiration/testimonial/posty-name urls, другое то же самое без [lang], что подразумевается /inspiration/testimonial/posty-name.Как сделать все это с помощью одного регулярного выражения?

add_action('init', 'add_custom_rewrites');
function add_custom_rewrites(){
  add_rewrite_rule(
    '^(en|fr|es|de)/inspiration/testimonial/([^/]*)?',
    'index.php?post_type=testimonial&lang=$matches[1]&name=$matches[2]',
    'top'
  );

  add_rewrite_rule(
    '^inspiration/testimonial/([^/]*)?',
    'index.php?post_type=testimonial&name=$matches[1]',
    'top'
  );
}

Другими словами, я хотел бы сопоставить lang, только если в URL-адресе найден один из (en|fr|es|de), в противном случае не добавляйтеlang queryvar, OR, в моем случае то же самое, используйте значение по умолчанию для lang queryvar (es. lang = it).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...