Работаю в wordpress. У меня есть переменная с именем города.
$vibor_pol = get_term_by('name', $_SESSION['sity'], 'post_tag');
$tax_term_id = $vibor_pol->slug; //получаем эту переменную
Например, voronezh. Переменная передается GET-запросом.
Я пытаюсь сделать url вида site.ru/voronezh/news.
Т.е. после site.ru всегда идет название города, а потом все остальное.
site.ru/news1/?city=voronezh должно превращаться в site.ru/voronezh/news1/
Пример можно посмотреть на https://auto.ru/.
Вот мой код. Его я вставил в functions.php:
function rewrite_rules() {
// Теги
add_rewrite_tag( '%sity%', '([^&]+)', 'sity=' );
// Правило перезаписи
add_rewrite_rule( '^([^/]*)/?', 'index.php?sity=$matches[1]', 'top' );
// Скажем WP, что есть новые параметры запроса
add_filter( 'query_vars', function( $vars ) {
$vars[] = 'sity';
return $vars;
} );
}
add_action( 'init', 'rewrite_rules' );
И подскажите, %sity% - нужно же вставлять в произвольные ссылки в админке?
Может я не там пишу код. Может это нужно делать в .htaccess.
Я пробовал очень много вариантов. Ничего не работает.
Хелп ми плиз.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей