Добавление пункта меню для архива произвольного типа записей

10 авг. 2015 г., 19:45:17
Просмотры: 13.8K
Голосов: 12

Я создал произвольный тип записи (project), и он работает отлично. У меня есть собственная страница архива (archive-project.php), которая тоже работает хорошо, но какой лучший способ добавить ссылку на этот архив произвольных записей в главное меню сайта?

Я создал "Произвольную ссылку" (см. ниже), но есть ли лучший способ, который не требует жесткого кодирования?

Скриншот меню WordPress с созданной произвольной ссылкой

6
Комментарии

Вот как это сделать, используя пользовательскую ссылку. Она не жестко прописана в файлах, поэтому вы можете изменить ее в любое время.

Brad Dalton Brad Dalton
10 авг. 2015 г. 20:04:12

@BradDalton Хм. Теперь мне интересно, как заставить WPML переводить эту ссылку!

Django Reinhardt Django Reinhardt
10 авг. 2015 г. 20:09:16

@ialocin Какое совершенно бесполезное замечание. Если вы знаете другой способ сделать это, приведите ссылки или ответ.

Django Reinhardt Django Reinhardt
11 авг. 2015 г. 12:58:20

Позволю себе не согласиться, я просто пытался намекнуть вам на это, и для этого существуют комментарии — делать замечания, не заслуживающие отдельного ответа. Но давайте просто согласимся, что не согласны. WPML, если я правильно помню, умеет переводить ярлыки архивов, так что если вы можете добавить архивы в меню, то они должны переводиться. Не уверен уже (давно не использовал), как именно WPML обрабатывает перевод меню, но это точно входит в его функционал.

Nicolai Grossherr Nicolai Grossherr
11 авг. 2015 г. 13:10:26

@ialocin Понял. Здесь два вопроса. Первый — как добавить архив произвольного типа записи в навигационное меню, и второй — как заставить WPML перевести эту ссылку. Первый вопрос — это то, на что вы ссылались в своем ответе, и он все еще требует ответа (и соответствует тематике этого SE).

Django Reinhardt Django Reinhardt
11 авг. 2015 г. 13:20:55

Безусловно, я никогда не говорил ничего даже отдаленно противоположного. Посмотрите здесь и здесь, это должно вам помочь.

Nicolai Grossherr Nicolai Grossherr
11 авг. 2015 г. 13:42:13
Показать остальные 1 комментариев
Все ответы на вопрос 1
4
33

Вы можете использовать встроенную функцию редактора меню для этого. Перейдите к своему типу записи (Custom Post Type) в редакторе меню, нажмите на вкладку "Просмотреть все" и первым пунктом вы увидите ссылку на архивную страницу CPT.

Добавление архива произвольного типа записи в меню

Если ваш CPT не отображается в редакторе меню, убедитесь, что для него включены архивы ('has_archive' => true в аргументах register_post_type).

Если вы уверены, что архивы включены, но ваш CPT всё ещё не виден, вы можете отобразить его через меню "Настройки экрана" в верхней части страницы (спасибо, Nathan Hornby).

Отображение произвольных типов записей через меню Настройки экрана

6 мая 2016 г. 16:56:11
Комментарии

"Перейдите к своему типу записей (Custom Post Type) в редакторе меню". Для сведения: чтобы отобразить пользовательские типы записей на странице 'Меню', необходимо вручную включить их через выпадающее меню 'Параметры экрана', иначе они там не появятся.

Nathan Hornby Nathan Hornby
3 февр. 2017 г. 15:00:09

И не забудьте добавить 'has_archive' => true при создании вашего CPT.

pjehan pjehan
5 сент. 2018 г. 17:38:06

Странное поведение, которое я обнаружил: интерфейс недоступен, если для данного типа записей нет опубликованных материалов (v4.9.8). Чтобы добавить архив в меню, сначала нужно опубликовать хотя бы одну запись (хотя это, возможно, редкий сценарий использования).

Julian F. Weinert Julian F. Weinert
5 окт. 2018 г. 16:25:05

все еще не работает. Также пробовал has_archive => "my_special_rewrite_string". Вижу другие CPT в разделе "Архивы", но не мой. Буду использовать пользовательскую ссылку как временное решение :/

Fanky Fanky
29 окт. 2021 г. 19:25:46