Tôi có một loại bài đăng tùy chỉnh được gọi portfolio
và tôi đang cố gắng thêm các thẻ phân loại vào đó, làm thế nào để tôi làm điều này?
Tôi có một loại bài đăng tùy chỉnh được gọi portfolio
và tôi đang cố gắng thêm các thẻ phân loại vào đó, làm thế nào để tôi làm điều này?
Câu trả lời:
Giống như thế này: (Nơi ghi "danh mục đầu tư" là nơi bạn đăng ký phân loại theo loại bài đăng
add_action( 'init', 'create_tag_taxonomies', 0 );
//create two taxonomies, genres and tags for the post type "tag"
function create_tag_taxonomies()
{
// Add new taxonomy, NOT hierarchical (like tags)
$labels = array(
'name' => _x( 'Tags', 'taxonomy general name' ),
'singular_name' => _x( 'Tag', 'taxonomy singular name' ),
'search_items' => __( 'Search Tags' ),
'popular_items' => __( 'Popular Tags' ),
'all_items' => __( 'All Tags' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit Tag' ),
'update_item' => __( 'Update Tag' ),
'add_new_item' => __( 'Add New Tag' ),
'new_item_name' => __( 'New Tag Name' ),
'separate_items_with_commas' => __( 'Separate tags with commas' ),
'add_or_remove_items' => __( 'Add or remove tags' ),
'choose_from_most_used' => __( 'Choose from the most used tags' ),
'menu_name' => __( 'Tags' ),
);
register_taxonomy('tag','portfolio',array(
'hierarchical' => false,
'labels' => $labels,
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array( 'slug' => 'tag' ),
));
}
?>
Hoặc chỉ cần thêm:
'taxonomies' => array('post_tag')
Một loạt các nguyên tắc phân loại đã đăng ký như
category
hoặcpost_tag
sẽ được sử dụng với loại bài đăng này. Điều này có thể được sử dụng thay cho cuộc gọiregister_taxonomy_for_object_type()
trực tiếp. Phân loại tùy chỉnh vẫn cần phải được đăng ký vớiregister_taxonomy()
.
đến $args
mảng trong functions.php
-file nơi bạn tạo loại bài đăng tùy chỉnh với register_post_type()
.
Dùng cái này:
add_action( 'init', 'gp_register_taxonomy_for_object_type' );
function gp_register_taxonomy_for_object_type() {
register_taxonomy_for_object_type( 'post_tag', 'portfolio' );
};
Phương pháp 1 (từ các câu trả lời ở trên: https://wordpress.stackexchange.com/a/106211/38771 )
Các loại bài đăng khác nhau sẽ sử dụng cùng một dữ liệu "Thẻ" của loại "bài đăng" mặc định.
Lợi ích
Tất cả mọi thứ (nên) hoạt động ra khỏi hộp với một dòng
Tất cả các thẻ của bạn ở một nơi trong CMS
Nhược điểm
Phương pháp 2 (từ các câu trả lời ở trên: https://wordpress.stackexchange.com/a/62263/38771 )
Các loại bài đăng khác nhau sử dụng cấu hình / dữ liệu "Thẻ" khác nhau.
Lợi ích
Đánh đổi
Thêm một chút mã để thiết lập
Trong thực tế, chúng là một cách cực kỳ mạnh mẽ để nhóm các mặt hàng khác nhau theo đủ mọi cách. https://codex.wordpress.org/Taxonomies#Custom_Taxonomies
Chỉ cần sử dụng mã này có thể là nó giúp bạn
add_action( 'init', 'create_client_tax' );
function create_client_tax() {
register_taxonomy(
'client_tag', //your tags taxonomy
'client', // Your post type
array(
'hierarchical' => false,
'label' => __( 'Tags', CURRENT_THEME ),
'singular_name' => __( 'Tag', CURRENT_THEME ),
'rewrite' => true,
'query_var' => true
)
);
}