
Để tạo Custom Post Type (CPT) và Custom Taxonomy trong WordPress, bạn có thể dán đoạn code dưới đây vào file functions.php của theme/child-theme đang sử dụng.
Dưới đây là phương pháp tạo nhanh bằng code giúp quản lý nội dung linh hoạt (ví dụ tạo loại bài viết là Sản phẩm và phân loại là Danh mục sản phẩm):
1. Tạo Custom Post TypeThêm đoạn code này để đăng ký một loại bài viết mới có tên là san-pham (Sản phẩm):
function create_product_posttype() {
register_post_type(
'san-pham',
array(
'labels' => array(
'name' => __('Sản phẩm'),
'singular_name' => __('Sản phẩm')
),
'public' => true,
'has_archive' => true,
'menu_position' => 8,
'taxonomies' => array('post_tag'),
'supports' => array('title', 'editor', 'excerpt', 'author', 'thumbnail', 'revisions', 'custom-fields', 'comments'),
'rewrite' => array('slug' => 'san-pham'),
)
);
}
add_action('init', 'create_product_posttype', 0);
2. Tạo Custom Taxonomy
Thêm đoạn code sau để tạo bộ lọc/phân loại (giống như Category) có tên là danh-muc-san-pham áp dụng riêng cho CPT san-pham:
function create_product_taxonomy() {
$labels = array(
'name' => _x( 'Danh mục Sản phẩm', 'taxonomy general name' ),
'singular_name' => _x( 'Danh mục Sản phẩm', 'taxonomy singular name' ),
'search_items' => __( 'Search Danh mục Sản phẩm' ),
'all_items' => __( 'All Danh mục Sản phẩm' ),
'parent_item' => __( 'Parent Danh mục Sản phẩm' ),
'parent_item_colon' => __( 'Parent Danh mục Sản phẩm:' ),
'edit_item' => __( 'Edit Danh mục Sản phẩm' ),
'update_item' => __( 'Update Danh mục Sản phẩm' ),
'add_new_item' => __( 'Add New Danh mục Sản phẩm' ),
'new_item_name' => __( 'New Danh mục Sản phẩm Name' ),
'menu_name' => __( 'Danh mục Sản phẩm' ),
);
register_taxonomy('danh-muc-san-pham',array('san-pham'), array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'danh-muc-san-pham' ),
));
}
add_filter( 'get_the_archive_title', function ( $title ) {
if( is_tax() ) {
$title = single_term_title( '', false );
}
return $title;
});
add_action( 'init', 'create_product_taxonomy', 0 );
3. Cập nhật Permalinks (Cấu trúc đường dẫn)
Sau khi lưu file functions.php, bạn bắt buộc phải vào Cài đặt (Settings) > Đường dẫn tĩnh (Permalinks) trong bảng quản trị, sau đó nhấn Lưu thay đổi (Save Changes) để WordPress cập nhật lại link mới cho Custom Post Type.