ดังนั้นนี่คือการขับรถฉันบ้าอย่างแน่นอน ฉันใช้เวลาหลายวันในการพยายามแก้ไขปัญหานี้และฉันก็ไม่สามารถบอกได้ว่าทำไมเรื่องนี้ถึงยากเหลือเกินเพราะนี่เป็นโครงสร้างความคิดเห็นทั่วไป!
ฉันค้นหาคำตอบและโพสต์นับร้อยและดูเหมือนว่าไม่มีใครแก้ปัญหาได้
ฉันต้องการโครงสร้างนี้เพียง:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
ดังนั้นฉันบรรลุดังต่อไปนี้:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
ทุกครั้งที่ฉันลองทำสิ่งที่ฉันได้รับ 404 ข้อผิดพลาดหรือการกระตุ้นไม่ทำงาน
ฉันไม่เข้าใจว่าทำไมมันถึงยากขนาดนี้!
ความช่วยเหลือใด ๆ ที่ชื่นชมจริงๆ!
ขอขอบคุณ
================================================== ==== ================== ข้อมูลเพิ่มเติม ==================
ขณะนี้ฉันกำลังลงทะเบียนประเภทโพสต์และอนุกรมวิธานดังนี้:
register_post_type('literature',$args);
'rewrite' => array('slug' => 'literature/books','with_front' => false),
register_taxonomy('literature_category',array('literature'), array(
'rewrite' => array( 'slug' => 'literature','with_front' => false ),
หากฉันลงทะเบียนทั้งสองเป็น 'วรรณกรรม' ฉันจะได้รับ 404 ในหน้า mysite.com/literature แต่สิ่งนี้จะแสดงความคิดเห็นของฉันเป็น: mysite.com/literature/books/mybook
หลังจากทำตามคำแนะนำสำหรับคำถามนี้ - ประเภทโพสต์ที่กำหนดเอง, taxonomies และ Permalinks
ฉันได้เพิ่มสิ่งนี้ไปยังฟังก์ชั่นของฉัน:
function filter_post_type_link($link, $post) {
if ($post->post_type != 'literature')
return $link;
if ($cats = get_the_terms($post->ID, 'literature_category'))
$link = str_replace('%literature_category%', array_pop($cats)->slug, $link);
return $link;
}
add_filter('post_type_link', 'filter_post_type_link', 10, 2);
และเปลี่ยนประเภทโพสต์ของฉันเป็น'slug' => 'literature/%literature_category%'
และเปลี่ยนอนุกรมวิธานของฉันเป็น'slug' => 'literature'
ใช้งานได้ดียกเว้นว่าการให้mysite.com/literature
เลขหน้าไม่ได้ผลดังนั้นฉันจึงได้รับข้อผิดพลาด 404 ใน URL ต่อไปนี้:
mysite.com/literature/page/2/