Я хочу сделать URL-адреса дружественными для пользовательской функции, которую я использую на своем веб-сайте. Я добавил пользовательский шаблон в мою директорию темы.
Функция перезаписи URL, которая выглядит следующим образом:
function starts_rewrite_rule() {
add_rewrite_rule('^cities-starting-with-([^/]*)/?','index.php?page_id=340&start_letter=$matches[1]','top');
}
add_action('init', 'starts_rewrite_rule', 10, 0);
URL становится:
site.com/cities-starting-with-a/
Все хорошо и параметры считываются правильно из функции. И когда постоянная ссылка на доступ меняется на
site.com/cities-starting-with-pa/
SQL-запрос меняется на «ab».
После того, как я обновлю Постоянные ссылки (нажмите Сохранить на постоянные ссылки). Я хотел расширить функциональность и добавить еще одно правило перезаписи URL. Я добавил более высокий приоритет, потому что шаблон URL был идентичным (за исключением того, что в новом правиле reweire URL был дополнительный параметр.
function x_letter_cities_starts_rewrite_rule() {
add_rewrite_rule('^([^/]*)-letter-words-starting-with-([^/]*)/?','index.php?page_id=340&length=$matches[1]&start_letter=$matches[2]','top');
}
add_action('init', 'x_letter_cities_starts_rewrite_rule', 14, 0);
URL должен стать:
site.com/7-number-cities-starting-with-pa/
Но похоже, что функция переписывания WordPress не может правильно определить дополнительный параметр (7). поэтому результаты совпадают с URL-адресом, к которому осуществляется доступ, например: site.com/cities-starting-with-pa/
Кажется, приоритет работает неправильно. ИЛИ URL переписать правило
Игнорирует первую часть «7-число-» и читает только шаблон второй части URL-адреса «города, начинающиеся с па /», потому что они заканчиваются в одном шаблоне.
Может ли кто-нибудь помочь мне в этой сложной ситуации.
Я ценю вашу помощь / подсказки / идеи.
Спасибо,
шоку и петрит.