ใช้หน้า 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

นอกจากนี้ยังมีปลั๊กอินแบบ 1 ไฟล์ที่ง่ายสำหรับตอนนี้โดย Folk HumanMade

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

(Meta: ฉันรู้ว่าคำตอบของลิงค์ไม่ค่อยดีนัก แต่ฉันไม่ต้องการคัดลอกและวางซอร์สโค้ดสำหรับสิ่งนั้นไว้ในคำตอบกลยุทธ์ที่ดีที่สุดสำหรับสิ่งนี้คืออะไร)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.