ฉันกำลังพยายามเขียน url ใหม่สำหรับ custom_post_type ที่wr_events
มีชื่อด้วยหนึ่งในเงื่อนไข custom_taxonomy จากevent_type
add_action('init', 'wr_events');
function wr_events() {
register_taxonomy(
'event_type',
'wr_event',
array(
'label' => 'Types',
'singular_label' => 'Typ',
'hierarchical' => true,
'query_var' => true,
'rewrite' => array('slug' => 'events'),
)
);
$labels = array(
'name' => _x('Events', 'post type general name'),
'singular_name' => _x('Event', 'post type singular name')
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'capability_type' => 'post',
'hierarchical' => false,
'menu_position' => null,
'supports' => array('title','editor','thumbnail', 'excerpt'),
'rewrite' => array(
//'slug' => 'event',
'slug' => 'events/%event%',
'with_front' => false
),
'has_archive' => 'events'
);
register_post_type( 'wr_event' , $args );
flush_rewrite_rules();
}
add_action('save_post', 'save_details');
add_filter('post_type_link', 'events_permalink_structure', 10, 4);
function events_permalink_structure($post_link, $post, $leavename, $sample)
{
if ( false !== strpos( $post_link, '%event%' ) ) {
$event_type_term = get_the_terms( $post->ID, 'event_type' );
$post_link = str_replace( '%event%', array_pop( $event_type_term )->slug, $post_link );
}
return $post_link;
}
ดังนั้นในกรณีของฉันคำศัพท์อนุกรมวิธานของฉันจะเป็น "การประชุมเชิงปฏิบัติการ" หรือ "การบรรยาย" ฯลฯ
url/events/lectures
หรือurl/events/workshops
แสดงรายการโพสต์ทั้งหมดของฉันที่เกี่ยวข้องกับ "หมวดหมู่" นี้url/events
แสดงการเก็บถาวรที่กำหนดเองสำหรับกิจกรรมทั้งหมดของฉัน -> นี่คือสิ่งที่ฉันต้องการ แต่สิ่งเดียวที่ไม่ทำงานคือ URL ที่สมบูรณ์ของโพสต์ที่กำหนดเอง ...
url/events/lectures/post-name
- โยน 404!
มีความคิดว่าทำไมสิ่งนี้เกิดขึ้น? events_permalink_structure()
ฟังก์ชั่นของฉันทำงานได้อย่างถูกต้องเพราะมันแทนที่ Permalinks ของฉันอย่างที่ฉันต้องการ
ผมติดตั้ง "Rewrite วิเคราะห์" ปลั๊กอินและมันแสดงให้เห็นฉัน "Regex เป็นที่ว่างเปล่า" wr_event
สำหรับ
ฉันได้ลองล้างกฎการเขียนซ้ำโดยไปที่การตั้งค่าลิงก์ถาวร อย่างไรก็ตามไม่มีผลกระทบ