Vì vậy, điều này đang khiến tôi hoàn toàn điên rồ. Tôi đã dành nhiều ngày cố gắng khắc phục điều này và tôi không thể hiểu tại sao điều này lại khó khăn đến vậy vì chắc chắn đây là một cấu trúc permalink rất phổ biến!
Tôi đã xem qua hàng trăm câu trả lời và bài đăng và dường như không ai trong số họ giải quyết vấn đề.
Tôi chỉ đơn giản muốn cấu trúc này:
mysite.com/custom-post-type/custom-taxonomy-term/post-name
Vì vậy, tôi đạt được những điều sau đây:
mysite.com/literature - all literature posts
mysite.com/literature/fiction - all literature posts with 'fiction' term
mysite.com/literature/fiction/mybook - the post
Mỗi lần tôi thử một cái gì đó, tôi nhận được lỗi 404 hoặc sự trì hoãn không hoạt động.
Tôi không hiểu tại sao điều này lại khó khăn đến vậy!
Bất kỳ trợ giúp thực sự đánh giá cao!
Cảm ơn bạn
================================================== ==== ================== THÔNG TIN BỔ SUNG ==================
Hiện tại tôi đang đăng ký loại bài đăng và phân loại như sau:
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 ),
Nếu tôi đăng ký cả hai dưới dạng 'tài liệu', tôi nhận được 404 trên trang mysite.com/literature nhưng điều này sẽ hiển thị permalink của tôi dưới dạng: mysite.com/literature/books/mybook
Sau khi làm theo lời khuyên về câu hỏi này - Các loại bài đăng tùy chỉnh, phân loại và permalinks
Tôi đã thêm chức năng này vào chức năng của mình:
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);
Và thay đổi loại bài đăng của tôi thành 'slug' => 'literature/%literature_category%'
Và thay đổi phân loại của tôi thành'slug' => 'literature'
Điều này hoạt động rất tốt ngoại trừ việc mysite.com/literature
phân trang không hoạt động nên tôi gặp lỗi 404 trên url sau:
mysite.com/literature/page/2/