Yazı tipi arşivi yerine WordPress sayfasını kullan


15

Bu bir kopya ise özür dilerim - bir cevap bulamıyorum.

Özel bir yazı türü arşiv sayfasını 'insan yapımı' WordPress sayfasına nasıl yeniden yazabilirim?

Örneğin:

  • Tek sayfa: http://www.mywebsite.com/cool-post-type/awesome-single-post/
  • Arşiv sayfası: http://www.mywebsite.com/cool-post-type/

http://www.mywebsite.com/cool-post-type/Yeniden yazmak istiyorum http://www.mywebsite.com/about-cool-post-types/.

Bunu sadece htaccess ile yapabilir miyim ve sözdizimi ne olurdu? (Htaccess'te iyi değilim!)

Bu çalışmıyor:

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

Yoksa bunu WordPress kaynak kodunda yapmak zorunda mıyım? İstemiyorum!

Yanıtlar:


16

Bu aslında oldukça kolay. Kayıt türünüzü register_post_type kullanarak bildirdiğinizde, 'has_archive' için yeni bir bağımsız değişken eklemeniz gerekir.

Böylece aşağıdaki etkilere bir şey eklersiniz:

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

Ardından, onları temizlemek için Ayarlar> Kalıcı Bağlantılar bölümüne gidin ve çalışması gerekir. Yerel olarak test ettim ve bu, arşiv sayfanızı otomatik olarak farklı bir URL'de oluşturmanın yolu gibi görünüyor. Ardından, CPT'nin bilgi sayfasında bir sayfa oluşturabilmeniz gerekir.


Bu çalışmayı durdurdu ancak rastgele bir metne 'has_archive' atayarak ve sayfamın bilgi kaynağını kategori bilgi dosyasına yeniden adlandırarak düzeltmeyi başardım.
Warwick

7

Bunun için şimdi HumanMade halkının basit, 1 dosyalı bir eklentisi var;

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

(Meta: Bağlantıları olan cevapların genellikle harika olmadığını biliyorum, ama sadece o şeyin kaynak kodunu kopyalayıp bir cevaba yapıştırmak istemiyorum. Bu tür bir şey için en iyi strateji nedir?)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.