Добавьте в «function.php» следующий код:
add_action(''init'', ''rewrite_rules''); function rewrite_rules(){ add_rewrite_tag(''%genre%'',''([^&]+)''); // Регистрируем параметр genre add_rewrite_tag(''%country%'',''([^&]+)''); // // Регистрируем параметр country add_rewrite_rule(''^films/([^/]*)/([^/]*)/?$'',''index.php?pagename=films&genre=$matches[1]&country=$matches[2]'',''top''); // Добавляем новое правило, 3-й параметр top говорит о том, что правило необходимо проверять первым. }
Здесь мы с помощью регулярного выражения создали новое правило, которое мы поставили в соответствие с запросом адресной строки. Теперь если WordPress встретит в URL имя нашей страницы «films», а после неё будет идти косая черта и какая-то строка, то эта строка будет восприниматься как параметр «genre», а за следующей косой чертой будет «country». Доступ в нашем шаблоне к этим параметрам можно будет получить не через массив $_GET, а с помощью другого, специального массива $wp_query, содержащего параметры адресной строки.
Как работать с параметрами в шаблоне:
<php // Template Name: My template name if (isset($wp_query->query_vars[''genre''])&&isset($wp_query->query_vars[''country''])) { // Если оба параметра заданы $genre = urldecode($wp_query->query_vars[''genre'']); $country = urldecode($wp_query->query_vars[''country'']); echo ''Жанр: '' . $genre . ''<br>''; echo ''Страна: '' . $country; } ?>
Возможно, после добавления этого кода потребуется зайти в меню настроек «Постоянные ссылки» и пересохранить их (просто нажать кнопку «Сохранить изменения»), чтобы начали действовать новые правила. Вот так.