WordPress: изменить URL-адрес страницы

#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. Но это маловероятно.