Tạo danh mục chỉ dành cho loại bài đăng tùy chỉnh


11

Tất cả, tôi đang tạo loại bài đăng của riêng mình bằng mã sau:

add_action( 'init', 'create_team_post_type' );
function create_team_post_type() {
  register_post_type( 'team',
    array(
      'labels' => array(
        'name' => __( 'Teams' ),
        'singular_name' => __( 'Team' )
      ),
        'publicly_queryable' => true,
        'show_ui' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'hierarchical' => false,
        'menu_position' => null,
        'taxonomies' => array('category'),
        'supports' => array('title','editor','thumbnail')
    )
  );
}

Trong này tôi đang cho phép một thể loại. Khi tôi nhấp vào danh mục này, tôi thấy các danh mục đã được liệt kê từ danh mục bài viết của mình. Tôi chỉ muốn hiển thị các danh mục cho loại bài đăng tùy chỉnh này. Ngoài ra, khi tôi thêm một danh mục mới vào loại bài đăng tùy chỉnh, tôi chỉ muốn nó áp dụng cho loại bài đăng tùy chỉnh này. Làm thế nào để tôi đi về làm điều này?

Câu trả lời:


15

Tôi sẽ nói rằng bạn cũng cần tạo một phân loại tùy chỉnh nếu bạn muốn nó bị giới hạn trong một loại bài đăng. "Thể loại" đã được kết nối với bài viết theo mặc định.

Từ Codex WordPress

function people_init() {
    // create a new taxonomy
    register_taxonomy(
        'people',
        'post',
        array(
            'label' => __( 'People' ),
            'rewrite' => array( 'slug' => 'person' ),
            'capabilities' => array(
                'assign_terms' => 'edit_guides',
                'edit_terms' => 'publish_guides'
            )
        )
    );
}
add_action( 'init', 'people_init' );

Vì vậy, nếu bạn gọi nó là "danh mục nhóm", thì bạn sẽ sử dụng nó trong mảng 'phân loại' trong loại bài đăng của mình.

Đây là một ví dụ cụ thể hơn:

function tr_create_my_taxonomy() {

    register_taxonomy(
        'team-category',
        'team',
        array(
            'label' => __( 'Category' ),
            'rewrite' => array( 'slug' => 'team-category' ),
            'hierarchical' => true,
        )
    );
}
add_action( 'init', 'tr_create_my_taxonomy' );

Nhìn có vẻ tốt. Làm cách nào để hiển thị phân loại tùy chỉnh của tôi trong bài tùy chỉnh? Tôi cố gắng để thay đổi 'taxonomies' => array('category')để 'taxonomies' => array('people')nhưng nó không hiển thị những loại.
dùng1048676

Đảm bảo thay đổi 'bài' thành 'nhóm' trong mã ví dụ nếu đó là nơi bạn muốn nó hiển thị.
SkyShab

Tôi đoán tôi nên rõ ràng hơn. Nó xuất hiện ở đó nhưng khi tôi thêm một bài đăng mới vào loại bài đăng tùy chỉnh tôi muốn nó hiển thị dưới dạng hộp kiểm như trên loại bài đăng tiêu chuẩn. Ngay bây giờ nó chỉ cho tôi thấy một hộp như các thẻ thay vì các danh mục tùy chỉnh.
dùng1048676

1
Nếu bạn muốn nó 'kiểu danh mục' thì hãy đặt thứ bậc thành đúng. Mặc định, sai, hiển thị nó 'kiểu thẻ'. Tôi đã thêm trước đây vào ví dụ mã mới nhất của tôi.
SkyShab

Để hiển thị phân loại tùy chỉnh trong chỉnh sửa trang Gutenberg, hãy thêm 'show_in_rest' => truevào các register_taxonomytùy chọn.
Fabian von Ellerts
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.