Tôi đã gặp vấn đề này đúng nghĩa là 3 ngày trước, sau đó tôi tình cờ thấy một loạt trên wp.tutsplus.com . Tôi đã trao đổi mã của riêng mình để phù hợp hơn với câu hỏi của bạn, nhưng đây là những gì tôi đã kết thúc sau khi theo dõi loạt bài. Ngoài ra, hãy nhớ rằng điều này là chưa được kiểm tra.
// sets custom post type
function my_custom_post_type() {
register_post_type('Projects', array(
'label' => 'Projects','description' => '',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'capability_type' => 'post',
'hierarchical' => false,
'publicly_queryable' => true,
'rewrite' => false,
'query_var' => true,
'has_archive' => true,
'supports' => array('title','editor','excerpt','trackbacks','custom-fields','comments','revisions','thumbnail','author','page-attributes'),
'taxonomies' => array('category','post_tag'),
// there are a lot more available arguments, but the above is plenty for now
));
}
add_action('init', 'my_custom_post_type');
// rewrites custom post type name
global $wp_rewrite;
$projects_structure = '/projects/%year%/%monthnum%/%day%/%projects%/';
$wp_rewrite->add_rewrite_tag("%projects%", '([^/]+)', "project=");
$wp_rewrite->add_permastruct('projects', $projects_structure, false);
Về mặt lý thuyết, bạn có thể trao đổi bất cứ thứ gì bạn muốn trong URL được lưu trữ trong $projects_structure
biến, đó là những gì tôi đã sử dụng.
Chúc may mắn, và như mọi khi - hãy chắc chắn quay lại và cho chúng tôi biết làm thế nào nó hoạt động! :)