Архивная страница для произвольного типа записи не работает

22 мая 2013 г., 15:32:36
Просмотры: 24K
Голосов: 1

Я использую плагин CPT-onomies для создания произвольных типов записей. Я создал тип записи "case" и установил "Has Archive Page" в значение true, но когда я пытаюсь просмотреть отдельный кейс, я получаю ошибку 404. То же самое происходит, если я пытаюсь просмотреть саму архивную страницу, например "site.com/case", а не "site.com/case/case-item".

Вот скриншот моих настроек: https://i.sstatic.net/VOoB1.png

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

Пропустил ли я что-то в настройках или это ошибка в плагине? Я просмотрел все несколько раз и не могу найти ничего, что могло бы помешать его работе.

У меня есть файл шаблона single.php, который должен использоваться. Я также пробовал single-case.php, но это не дало никакой разницы.

Решение

Я нашел решение здесь: http://gabrieleromanato.name/wordpress-fix-the-404-error-on-custom-post-types/

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

У меня была похожая проблема раньше, и она была решена http://wordpress.stackexchange.com/questions/99538/post-type-archive-page-not-working

markyeoj markyeoj
22 мая 2013 г. 16:03:17

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

qwerty qwerty
22 мая 2013 г. 16:21:07

Я проверил ваш скриншот, попробуйте установить hierarchical в true. Я не знаком с CPT-onomies, но если вы не против, я предлагаю вам переключиться на custom-post-type-ui

markyeoj markyeoj
22 мая 2013 г. 16:27:44

Всё ещё не получается после установки hierarchical в true. :/ Это мой первый опыт использования плагина, я просто взял один из топовых. В следующий раз обязательно попробую другой, но боюсь, что сейчас я привязан к нему (я уже добавил тонны контента, и если удалю типы записей, то могу попрощаться и с контентом).

qwerty qwerty
22 мая 2013 г. 16:37:27

Если ваш плагин предоставляет регистрационный код вашего типа записи, было бы лучше, если вы включите его в свой пост. И убедитесь, что у вас есть следующее:

archive-{post-type.php} - для отображения списка ваших записей под вашим пользовательским типом записи

taxonomy-{taxonomy-name.php} - для отображения списка ваших записей, которые принадлежат конкретному таксономическому имени

и single-{post-type.php} - для отображения отдельной записи вашего конкретного пользовательского типа записи.

markyeoj markyeoj
22 мая 2013 г. 16:48:26

Регистрационный код - это "trailers" (если я вас правильно понял - "код" это имя, которое вы используете для обращения к типу записи, верно?). Мне не нужен архив как таковой, мне только нужно отображать отдельные записи (я ссылаюсь на запись из другого места), и у меня действительно есть шаблон single-trailers.php. Также у меня есть page.php, на который происходит откат, так что это вряд ли может быть проблемой.

qwerty qwerty
22 мая 2013 г. 17:22:30

Я бы просто отказался от плагина и зарегистрировал тип записи вручную через register_post_type, это довольно просто и убирает загадку того, что делает плагин за кулисами. Если вы используете то же имя для регистрации своего типа записи, весь ваш контент останется доступным — удаление зарегистрированного типа записи не затрагивает данные в базе данных.

Milo Milo
22 мая 2013 г. 17:26:40

У меня, на самом деле, есть ощущение, что удаление типа записи также удалит все связанные записи. Это зависит от плагина, и если бы он оставлял все записи, это бы захламляло базу данных, верно? Не знаю, я сделаю резервную копию и попробую. Отпишусь через пару часов! Для справки: раньше я добавлял его вручную, но решил попробовать что-то новое. Это было плохой идеей — "Не чини то, что не сломано".

qwerty qwerty
22 мая 2013 г. 17:33:35

Можно посмотреть в файле uninstall.php плагина, сомневаюсь, что он трогает записи.

Milo Milo
22 мая 2013 г. 17:54:36

Ты был абсолютно прав! Я буду делать это вручную, спасибо!

qwerty qwerty
22 мая 2013 г. 20:07:04

Да, у меня всё ещё есть проблемы с этим, архив так и не отображается. Вот аргументы, которые я передаю типу записи: http://pastebin.com/raw.php?i=Q8su2E1z Видишь что-то странное в них?

qwerty qwerty
22 мая 2013 г. 21:09:50

Есть ли у тебя другой контент на сайте, который может конфликтовать с URL? Может быть страницы со слагом/названием 'case'?

Rachel Carden Rachel Carden
23 мая 2013 г. 19:26:53

@RachelCarden Я отправил вам ответ по ссылке http://wordpress.org/support/...

qwerty qwerty
24 мая 2013 г. 12:19:14

Вам следует опубликовать ваше решение как ответ и отметить его как правильный, чтобы ваш вопрос не остался в гробнице неотвеченных вопросов

Matthew Boynes Matthew Boynes
29 мая 2013 г. 16:18:01

@MatthewBoynes Хорошее замечание. Готово!

qwerty qwerty
29 мая 2013 г. 17:37:42
Показать остальные 10 комментариев
Все ответы на вопрос 1
3

Я нашёл решение здесь: http://gabrieleromanato.name/wordpress-fix-the-404-error-on-custom-post-types/

Вот что нужно сделать, чтобы это заработало (цитата с указанного сайта):

  1. Перейдите в Настройки → Постоянные ссылки и измените текущую структуру на: /%category%/%postname%
  2. Сохраните изменения.
  3. Восстановите исходные настройки постоянных ссылок. Сохраните изменения.
29 мая 2013 г. 17:37:25
Комментарии

Этот трюк сработал и у меня... странно, но факт.

Eric Eric
10 авг. 2017 г. 17:11:51

Это сработало для меня. Уфф, после часа поисков причины, почему это не работало.

weston deboer weston deboer
3 февр. 2019 г. 23:45:06

Эта структура на самом деле была моей изначальной структурой -_-

A. D'Alfonso A. D'Alfonso
26 мар. 2021 г. 19:03:02