Як видалити архів спеціального типу публікацій


17

У мене є власний тип публікації під назвою "рецепт" з has_archiveпараметром "true". Відвідавши mysite.com/recipe/, подається основний архівний список всіх опублікованих рецептів та назва сторінки "Рецепти". Все йде нормально.

Зараз я хочу відключити сторінку архіву рецептів (але нехай працюватимуть посилання на окремі рецепти). Моя перша думка полягала в тому, щоб спробувати встановити has_archiveзначення false, що здається, що це повинно зробити трюк. Ні. Єдина відмінність цього - це заголовок сторінки, який чомусь стає назвою сайту. Фактичний архів все ще відображається.

Який найкращий спосіб фактично повністю видалити цей архів? Чи є параметр, register_post_typeщо дозволить досягти цього, чи це неможливо, і випадок шаблону користувацької сторінки із перенаправленням у ньому?

Спасибі.


1
Ви стирали правила перезапису після налаштування 'has_archive' => false?
Чіп Беннетт

Хороший момент @ChipBennett, я цього не зробив! Працює так, як очікувалося зараз, дякую :)
Shellbot

Відповіді:


29

has_archiveПараметр register_post_type()робить саме те , що ви очікуєте , що робити. Однак він змінює правила перезапису при встановленні. Отже, якщо ви зміните його на false, вам потрібно буде очистити правила перезапису , щоб відображення архіву покажчика повністю видалено.


Примітка: це просто потрібно зробити один раз. Простий спосіб зробити це, наприклад, відвідати Налаштування-> Постійні посилання та повторно зберегти поточні налаштування. Це перекине правила перезапису.
nico

3
Зауважте, що це фактично не вимикає архіви; він вимикає лише гарну URL-адресу для доступу до них ( mysite.com/recipe/у цьому прикладі). Архів все ще існує і є доступним до mysite.com/?post_type=recipeтих пір, поки тип публікації відкритим для пошуку.
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.