Cấu trúc Permalink cho lưu trữ nhiều loại bài theo phân loại


8

Gần đây tôi đang làm việc trên một dự án WordPress nâng cao và tôi bị mắc kẹt với việc thay đổi cấu trúc permalink cho các loại bài đăng tùy chỉnh.

Tôi đã tạo ra 3 loại bài đăng cho phép: type1, type2, type3 và một bài kiểm tra phân loại được đăng ký cho tất cả chúng. Tôi có 3 thuật ngữ trong phân loại tùy chỉnh cat1, cat2, cat3

Đây là những gì tôi muốn đạt được:

thay vì truy cập tất cả các bài viết từ mèo bằng cách

trang web / kiểm tra / cat1

Tôi muốn truy cập từng tài liệu lưu trữ sau loại bằng con mèo phân loại như:

trang web / loại1 / cat1


cấu trúc url là gì?
amit

1
Tôi nghĩ rằng bạn đang nhầm lẫn với loại bài đăng và phân loại tùy chỉnh ... nhưng nếu bạn cung cấp tên thật bạn đang sử dụng sẽ giúp tôi hiểu rõ hơn về nó. Ví dụ: type1 = xe, cat1 = type và term1 = car.
chifliiiii

1
Tôi đồng ý với @chifliiiii rằng nó có thể giúp chúng tôi nếu bạn làm rõ chính xác cách thức / những gì bạn đang cố gắng tổ chức. Ngoài ra các danh mục có thể có các danh mục phụ có thể dễ dàng hơn để hình thành một hệ thống phân cấp có cấu trúc.
Chris

Bài đăng này có thể có thêm một số chi tiết và hướng đi cho bạn: wordpress.stackexchange.com/questions/49141/ Kẻ
Alex V.

Câu trả lời:


1

Đây là một phần mã từ một trong các dự án của tôi để thiết lập cấu trúc tương tự cho permalinks (cùng một loại sên cho cả loại bài đăng và lưu trữ phân loại), xin lưu ý các giá trị của tham số 'has_archive' và 'viết lại' của cả bài loại và phân loại:

add_action( 'init', 'register_my_post_types' );
function register_my_post_types() {

  register_post_type( 'movie',
    array(
        ....

        'has_archive' => 'movies',
        'rewrite' => array(
            'slug' => 'movies/%mv_category%',
            'with_front' => false
        ),
        'taxonomies' => array(
            'mv_category',
        ),
    )
  );

  register_taxonomy(
    'mv_category',
    array(
        'movie'
    ),
    array(
        ...
        'hierarchical' => true,
        'rewrite' => array(
            'slug' => 'movies',
            'with_front' => false,
            'hierarchical' => false
        )
    )
  );
) // end of create_my_post_types function


add_filter('post_type_link', 'filter_post_type_link', 10, 2);
function filter_post_type_link($link, $post)
{
    if ($post->post_type != 'movie')
        return $link;

    if ($cats = get_the_terms($post->ID, 'mv_category'))
        $link = str_replace('%mv_category%', array_pop($cats)->slug, $link);

    return $link;
}

Sau đó, bạn có thể truy cập danh mục 'Tài liệu' của loại bài đăng Phim với url này:

site.com/movies/documentary/

và 'Phim A' của thể loại 'Phim tài liệu' sẽ là:

site.com/movies/documentary/movie-a/

LƯU Ý: Điều quan trọng là phải đăng ký phân loại sau loại bài đăng, vì các quy tắc viết lại permalink thứ tự được tạo trong WordPress.


0

Không có các điều khoản cụ thể hơn để giúp tôi hiểu những gì bạn đang thực sự cố gắng tổ chức, tôi không chắc mình đang đi đúng hướng, nhưng plugin này có giúp bạn hoàn thành những gì bạn đang cố gắng không? http://wordpress.org/extend/plugins/cpt-onomies/

Nó loại các tiêu đề bài viết loại phân loại và phân loại theo cách kỳ lạ (và có thể hữu ích?) ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.