#php #wordpress #url #routes
#php #wordpress #url #маршруты
Вопрос:
Я новичок в WordPress, и меня попросили внести некоторые изменения в веб-сайт. Мне нужно изменить маршрут следующей страницы (если это возможно):
/travels/poi
Для:
/location/region/poi
Где travels
находится список POI (точек интереса). Возможно ли что-то подобное?
РЕДАКТИРОВАТЬ: location/region/
это страница, на которой перечислены мои POI
Ответ №1:
Если travel — это пользовательский тип записи, вы можете определить для него пользовательскую постоянную ссылку.
Ищу код, в котором вы регистрируете пользовательский тип сообщения для путешествий, что-то вроде этого:
register_post_type( 'travels', $args );
Измените аргумент перезаписи:
$args = array(
// your ohter args
'rewrite' => array(
'slug' => 'location/region',
'with_front' => true,
'pages' => true,
'feeds' => true,
),
// some other args
);
После внесения этих изменений вам необходимо сбросить правила перезаписи, иначе изменения не вступят в силу. Для этого просто перейдите в Настройки -> Постоянные ссылки в wp admin (вам не нужно ничего менять).
Комментарии:
1. Хм … понятно, но куда мне это добавить? Добавляю ли я его в «functions.php «точно так же, как там, где я добавляю свои действия / фильтры? Спасибо 🙂
2. Это зависит от того, как создается пользовательский тип записи. Может быть, вы используете плагин для этого путешествия?
3. Да, это плагин, который включает в себя списки «путешествия», «автомобили», «работа», «отели» и т.д.
4. В этом случае это сложно. Мы не должны изменять код плагина, потому что изменения будут переопределены во время следующего обновления плагина. Чистое решение возможно только в том случае, если плагин предоставляет перехват фильтра для изменения пользовательских аргументов типа post. Но это маловероятно.