Модератор
Юрій
(@yube)
Спасибо, вижу что явно по моей теме, осталось понять англ язык)
Модератор
Юрій
(@yube)
Всё самое главное там на php написано 🙂
Берете рабочий, по словам TheMarco, вариант
function add_my_var($public_query_vars) {
$public_query_vars[] = 'myvar';
return $public_query_vars;
}
add_filter('query_vars', 'add_my_var');
function do_rewrite() {
add_rewrite_rule('mypage/([^/]+)/?$', 'index.php?pagename=mypage&myvar=$matches[1]','top');
}
add_action('init', 'do_rewrite');
— меняете mypage
на moving-companies-by-city
(используется реальный слаг страницы) и myvar
на gorod
(это чтобы потом понять, что за фигня:)))
— вставляете полученный код в functions.php Темы
В обработчике получаете город вызовом get_query_var('gorod')
Где-так 🙂
хм.. ну я запихала вот такое
function add_my_var($public_query_vars) {
$public_query_vars[] = 'city';
return $public_query_vars;
}
add_filter('query_vars', 'add_my_var');
function do_rewrite() {
add_rewrite_rule('moving-companies-by-city/([^/]+)/?$', 'index.php?pagename=mypage&city=$matches[1]','top');
}
add_action('init', 'do_rewrite');
вызов функций идет, я проверила.. только че то толку нету, все равно нет страницы 404
наверное в add_rewrite_rule мудрилка у меня какая то
Модератор
Юрій
(@yube)
Тщательней надо! …pagename=mypage…
хм.. страшно даже спросить.. видимо pagename=mypage это что то не то да… ну например pagename=movingcity (это шаблон для этой страницы ничего не дает, все так и идет ошибка 404), page=27 тоже..
Модератор
Юрій
(@yube)
В строке
add_rewrite_rule('mypage/([^/]+)/?$', 'index.php?pagename=mypage&myvar=$matches[1]','top');
два раза используется слаг страницы. Вы поменяли первое вхождение и пропустили второе. Видимо, поэтому оно и кидает на несуществующую mypage.
PS Это всё я теоретически рассуждаю, живого экземпляра с таким кодом у меня нет.
хотя видимо так надо
pagename=moving-companies-by-city
убрала все тире с moving-companies-by-city — начало работать, вроде.. по крайней мере ошибки 404 нет, теперь ловлю переменную, что то get_query_var(‘city’) в условии if не работает пока что..
Ну и переменную поймала) УРА! спасибо большое! только как блин теперь с тире то сделать))) счас еще посижу подышу над кодами
Модератор
Юрій
(@yube)
Получилось? Поздравляю!
Добавил тему себе в «фавориты» — вдруг еще пригодится.
Да, только вот с тире pagename не проходит, дает ошибку 404, если только другую страницу создать и уже с city возится там, просто не люблю плодить страницы, файлы..
Модератор
Юрій
(@yube)
Это же слаг? Поменяйте его на без минусов. На заголовок и прочее это не повлияет, только на url.
А еще, по идее, pagename=mypage можно заменить на page_id=123. Это если минусы мешают во второй части.
Да на id я пробовала до этого, у меня браузер оказывается не сразу схватывает изменения на локале. я с номером делала до этого, а оно старое тянуло. с id тоже работает и это правльнее) спасибо за участие и помощь!