Сторінки користувацького типу публікації "не знайдено"


17

Я створив два нові типи користувальницької пошти, використовуючи код, який я успішно використовував в інших проектах без проблем. Перший викликається top_charts, другий case_studies, і обидва відображаються правильно в меню адміністратора, і я можу створювати нові повідомлення.

На жаль, нові повідомлення не з’являються. Я просто отримую 404.phpвідповідь.

Я створив, archive-top_charts.phpщоб побачити, чи можу я щось з’явитись, але бачу відповідь 404.php"сторінки не знайдено".

Я спочатку назвав власні повідомлення top-chartsта case-studies, але я вважав, що дефіс може бути проблемою, і тому перейменував їх, щоб використовувати замість цього підкреслення. Це не допомогло.

Я спробував повторно зберегти свої Постійні посилання, але нічого не змінилося. Моя .htaccess сторінка теж схожа на те, що ви очікували (і інші сторінки справно працюють). Що ще я можу перевірити?


1
чи використовували ви flush_rewrite_rules (false); в реєстрі типу публікації? для більш детальної інформації перейдіть за цим посиланням nooshu.com/page-not-found-with-custom-post-types
JAS

Спасибі. Це зафіксувало посилання на саму публікацію, але не archive-top_charts.phpсторінку. Дивно!
Джанго Райнхардт

Просто додавши частину його у відповідь, що може допомогти іншим користувачам і спробувати також шукати архів.
яс

знайшов просту відповідь на цю помилку в іншій публікації стека: Користувальницький тип публікації Постійна посилання Сторінка не знайдена
dnll

Відповіді:


19

Для виправлення користувацької публікації не знайдено, будь ласка, використовуйте нижче код у своєму functions.php:

flush_rewrite_rules( false );

Ви повинні робити це лише як тимчасовий захід, інакше він буде працювати при кожному завантаженні сторінки.

Для отримання детальної інформації перейдіть за цим посиланням

Що стосується того, що вони archive-top_charts.phpне з’являються, переконайтеся, що ви маєте 'has_archive' => trueпри реєстрації свого типу публікації.


чудово, що ти знайшов 'has_archive' :)
jas

27

Вам не доведеться редагувати свій PHP-код!

Хоча ви можете це зробити у функції, яка реєструє ваш користувальницький тип публікації, як і інші відповіді, ви також можете це зробити в меню налаштувань, уникаючи при цьому торкатися вашого PHP-коду:

Для стирання правил перезапису WordPress або постійних посилань (зазвичай це потрібно зробити вручну для нових спеціальних типів публікацій) на інформаційній панелі:

  1. У головному меню знайдіть "Налаштування> Постійні посилання".
  2. Прокрутіть униз за потреби та натисніть «Зберегти зміни».
  3. Правила перезапису та постійні посилання стираються.

Це так просто!

зображення сторінки збереження постійних посилань довідник


2
Я вважаю, що мені теж потрібно has_archive, але добре знати, що ти можеш примусити перемикати меню.
Джанго Райнхардт

1
Чи є спосіб зберегти зміни (оновлення) постійних посилань автоматично, а не переходити до Налаштувань> Постійні посилання щоразу, коли додається категорія / термін CPT? Як, наприклад, як не-адміністратор зможе це зробити, якщо у них немає доступу до налаштувань? Чи можна викликати гачок при додаванні нової категорії для автоматичного очищення постійних посилань?
Ryan Coolwebs

0

Я розумію, що це пізно в грі (і це може бути не пов’язаною з цим проблемою), але я хотів вказати іншим на можливе питання.

У моєму випадку я встановив свою таксономію переписати на інструменти, а тип вмісту переписати на те саме. Тому він ніколи не працював належним чином, оскільки це був конфлікт. На жаль, для подібного не існує виявлення, тому я подумав, що просто зазначу це іншим.


-1

У моєму випадку у моїй папці розробки були відсутні права, тому файл .htaccess не міг бути створений оголошенням або модифікованим.

Тож ручна промивка чи збереження змін у WP Постійні посилання не допомагали.

Рішенням було створити файл .htaccess власноруч

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.