Добавить пользовательскую запись htaccess для переписывания пользовательских URL-адресов в WordPress - PullRequest
0 голосов
/ 31 марта 2019

Я встроил собственный скрипт PHP в мою установку WordPress (с шаблоном страницы темы). Страница /islands/island/, и я получаю islandId с параметром GET. Таким образом, URL выглядит как https://website.com/islands/island/?iid=1

Но теперь я хочу переписать URL так: https://website.com/islands/island/1

Я уже пытался редактировать .htaccess, но безуспешно.

После некоторых исследований я обнаружил, что редактирование .htaccess не является правильным способом сделать это. Поэтому я использовал следующий код и добавил его в файл function.php.

function add_directory_rewrite() {
    add_rewrite_tag("%iid%", '([^/]*)');
    add_rewrite_rule('^islands/island/([^/]*)', 'index.php?pagename=islands/island&iid=$matches[1]', 'top');
}
add_action( 'init', 'add_directory_rewrite' );

Но, к сожалению, это не работает. Когда я перехожу на страницу http://website.com/islands/island/1, она перенаправляется на http://website.com/islands/island/. Я что-то упустил?

1 Ответ

0 голосов
/ 31 марта 2019

Работай!Рабочий код:

function add_directory_rewrite() {
    add_rewrite_tag("%iid%", '[\d+]');
    add_rewrite_rule('islands/island/([^/]*)', 'index.php?pagename=islands/island&iid=$matches[1]', 'top');
}
add_action( 'init', 'add_directory_rewrite' );

Изменены метки-заполнители в соответствии с предложением @Mario.

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