Використовуйте сторінку WordPress замість архіву типу публікації


15

Вибачте, якщо це дублікат - я не можу знайти відповідь.

Як переписати користувальницьку сторінку архіву типу публікації на "рукотворну" сторінку WordPress?

Наприклад:

  • Одна сторінка: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Сторінка архіву: http://www.mywebsite.com/cool-post-type/

Я хочу http://www.mywebsite.com/cool-post-type/переписати http://www.mywebsite.com/about-cool-post-types/.

Чи можу я просто зробити це з htaccess і яким би був синтаксис? (Я не добрий у htaccess!)

Це не працює:

RewriteRule ^cool-post-type\/\?$ /about-cool-post-types [L]

Або я повинен це зробити у вихідному коді WordPress? Я не хочу!

Відповіді:


16

Це насправді досить просто. Коли ви оголошуєте тип своєї публікації за допомогою register_post_type , вам потрібно додати новий аргумент для 'has_archive'.

Тож ви додасте щось до ефекту:

'has_archive' => 'about-cool-post-types'

Потім перейдіть у свої Налаштування> Постійні посилання, щоб промити їх, і це повинно працювати. Я перевірив її локально, і, здається, це спосіб автоматично генерувати вашу сторінку архіву за іншою URL-адресою. Тоді ви маєте змогу створити сторінку на слизі CPT.


Це перестало працювати, але мені вдалося виправити це, призначивши «has_archive» довільному тексту та перейменувавши молюски моєї сторінки в категорію.
Warwick

7

Для цього зараз також є простий плагін з одним файлом, виконаний людьми HumanMade;

https://github.com/humanmade/page-for-post-type

(Мета: Я знаю, що відповіді на посилання взагалі не великі, але я не просто хочу копіювати і вставляти вихідний код для цієї речі у відповідь. Яка найкраща стратегія для такого типу речей?)

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