Возможно ли изменить URL пользовательских типов записей, чтобы скрыть слаг типа записи?

11 янв. 2012 г., 12:36:50
Просмотры: 27.6K
Голосов: 4

Я хотел бы изменить /{custom-post-type}/{post-name} на /{post-name}, это возможно?

Если это невозможно, могу ли я изменить метки/терминологию в Страницах или Записях так, чтобы они назывались "Клиенты" или "Проекты" и т.д.?

0
Все ответы на вопрос 4
2
10

Вам необходимо использовать параметр 'rewrite' при регистрации вашего пользовательского типа записи.

Например: 'rewrite' => array('slug' => 'products'),

Из кодекса:

Когда вы задаете пространство имен для URL, но все же хотите использовать "чистую" структуру URL, вам нужно добавить элемент "rewrite" в массив. Например, возьмем пример "ACME Widgets" из вышеприведенного кода:

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'acme_product',
      array(
          'labels' => array(
              'name' => __( 'Продукты' ),
              'singular_name' => __( 'Продукт' )
          ),
          'public' => true,
          'has_archive' => true,
          'rewrite' => array('slug' => 'products')
      )
  );
}

Приведенный выше код приведет к URL вида http:/example.com/products/%product_name% (см. описание %product_name% выше). Обратите внимание, что мы использовали множественное число, что является предпочтительным форматом для некоторых пользователей, так как подразумевает более логичный URL для страницы со списком продуктов, например: http:/example.com/products/.

Также учтите, что использование общего названия, такого как "products", может потенциально конфликтовать с другими плагинами или темами, использующими то же имя. Однако большинство пользователей предпочитают короткие и понятные URL вместо длинных и сложных, таких как http:/example.com/acme_products/foobrozinator. Кроме того, разрешение конфликтов URL между плагинами проще, поскольку структура URL не хранится в базе данных в каждой записи так же, как имена пользовательских типов записей.

11 янв. 2012 г. 12:47:09
Комментарии

Кажется, вы меня не поняли — я хочу, чтобы у записей были чистые URL, но не хочу использовать слаг типа записи (метод, который вы процитировали из codex).

Tom Tom
11 янв. 2012 г. 13:20:21

Спасибо — сработало!

michaelmcgurk michaelmcgurk
31 июл. 2019 г. 12:14:29
1
'rewrite' => array('slug' => '/', 'with_front' => false)

Это позволит правильно сформировать URL, но приведёт к ошибке 404, если вы не обработаете его в своей теме.

6 сент. 2012 г. 18:09:43
Комментарии

Это верно насчёт 404 ошибки, но, как упоминает @Subhankar Adhikary, повторное сохранение постоянных ссылок решает проблему

Fanky Fanky
5 мая 2020 г. 14:54:27
1

Я только что изменил ярлык (slug) для пользовательского типа записи (в данном случае, я изменил его с "best-practices" на "bestpractices"). Изначально я скопировал код, где ярлык был оставлен пустым, вот так:

'rewrite' => array('slug' => ''),

Поскольку он был оставлен пустым, WordPress просто использовал название пользовательского типа записи ("best-practices") в качестве ярлыка. Я изменил свою строку кода на:

'rewrite' => array('slug' => 'bestpractices'),

Хочу отметить, что для применения изменений к уже существующим пользовательским типам записей вам потребуется сбросить постоянные ссылки.

3 февр. 2012 г. 16:01:02
Комментарии

СПАСИБО! Я только что потратил час, пытаясь понять, почему мои постоянные ссылки не обновляются. Я не знал, что нужно зайти в админку и заново "Сохранить" структуру постоянных ссылок.

Nathan J.B. Nathan J.B.
27 авг. 2014 г. 09:17:01
1

да, мы можем изменить slug. Пожалуйста, следуйте шагам:

Шаг 1: Измените название slug в опции "rewrite". (находится в Theme Functions (functions.php))

'rewrite' => array('slug' => 'products')

Шаг 2: Сбросьте постоянные ссылки. В противном случае будет возникать ошибка 404. 1. перейдите в админ-панель WordPress. 2. Настройки --> Постоянные ссылки

В разделе общих настроек--- 1. сначала измените на "Обычные" и сохраните. После этого снова измените настройки на предпочитаемый формат.

21 апр. 2018 г. 13:55:18
Комментарии

Достаточно просто нажать кнопку сохранения в разделе постоянных ссылок, думаю, никаких изменений вносить не нужно.

Fanky Fanky
5 мая 2020 г. 14:56:32