Пользовательские правила перезаписи Wordpress не работают должным образом - PullRequest
0 голосов
/ 20 мая 2019

TLDR: правила переписывания Wordpress работают не совсем так, как описано в кодексе, и мне интересно, упустил ли я что-то сверх очевидное.

Итак, я работаю над изящной маленькой страницей поиска, которая использует строки запроса, чтобы показать или скрыть данные на моей странице, основываясь на значениях.

https://reellawyersstg.wpengine.com/search-lawyers/?location=minneapolis-st-paul&topic=estate-planning

Однако для целей SEO мне нужно, чтобы URL-адрес в браузере выглядел примерно так:

https://reellawyersstg.wpengine.com/search-lawyers/minneapolis-st-paul/estate-planning

Я перечитывал правила переписывания URL в Wordpress. В теории это должно быть чрезвычайно легко. На самом деле, основываясь на том, что я вижу в кодексе Wordpress, они в общих чертах описывают мою точную ситуацию.

https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

Вот код, с которым я закончил:

//TURN SEARCH QUERY VARIABLES INTO PERMALINKS

function custom_rewrite_tags() {
  add_rewrite_tag('%location%', '([^&]+)');
  add_rewrite_tag('%topic%', '([^&]+)');
  add_rewrite_tag('%videoTopic%', '([^&]+)');
  add_rewrite_tag('%videoSubtopic%', '([^&]+)');
  add_rewrite_tag('%videolocation%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tags', 10, 0);

function custom_rewrite_rules() {
   add_rewrite_rule('^search-lawyers/([^/]*)/([^/]*)/?','index.php? 
page_id=234&location=$matches[1]&topic=$matches[2]','top');
}
add_action('init', 'custom_rewrite_rules', 10, 0);

Помимо имен переменных в строке запроса, мой код в functions.php точно такой же, как и то, что я вижу в записи Кодекса. Я прошел множество учебных пособий, чтобы проверить свою работу, попробовал несколько различных методов для реализации, даже альтернативный синтаксис. Тем не менее, на практике красивые URL-адреса не прилипают. Если я наберу https://reellawyersstg.wpengine.com/search-lawyers/minneapolis-st-paul/estate-planning,, я буду перенаправлен на базовую страницу: https://reellawyersstg.wpengine.com/search-lawyers/ Я что-то упускаю из виду супер очевидное?

...