Cách tạo nhanh post type và taxonomy đầy đủ nhất trong wordpress

Xin chào mọi người, sau quá trình học tập và làm việc. Mình thấy nếu website có nhiều loại post type khác nhau (như là công thức nấu ăn, dự án nấu ăn , người nổi tiếng …. vv) và mình mà cứ phải viết riêng code cho từng loại post type và taxonomy thì rất dài dòng và bất cập quá.

Cách tạo nhanh post type và taxonomy đầy đủ nhất trong wordpress
Cách tạo nhanh post type và taxonomy đầy đủ nhất trong wordpress

 

Vì vậy nay mình sẽ hướng dẫn các bạn chỉ cần tạo 2 functions duy nhất, và sau này muốn tạo post type + taxonomy chỉ cần mất 2 dòng duy nhất thôi. Code bên dưới các bạn tham khảo nhé.

Mình đã áp dụng cho tất cả các dự án của mình.

01. Copy đoạn bên dưới vào functions.php hoặc bất cứ đâu trong themes của bạn.


 

/*thêm thông tin post type*/
function create_post_type($title,$name,$slug,$support){
$labels = array(
'name' => $title,
'singular_name' => $title,
'add_new' => 'Add New',
'add_new_item' => 'Add New',
'edit_item' => 'Edit '.$title,
'new_item' => 'New '.$title,
'all_items' => 'All '.$title,
'view_item' => 'View '.$title,
'search_items' => 'Search '.$title,
'not_found' => 'No post found',
'not_found_in_trash' => 'No post found in Trash',
'parent_item_colon' => '',
'menu_name' => $title
);
$args = array(
'labels' => $labels,
'menu_icon' => 'dashicons-images-alt2',
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'hierarchical' => false,
'menu_position' => null,
'rewrite' => array( 'slug' =>$slug),
'supports' => $support
);
register_post_type($name, $args );
}

/* tạo taxonomy  */
function create_taxonomy_theme($title="Category",$slug,$name,$post_type) {
$labels = array(
'name' => $title,
'singular' => $title,
'menu_name' => $title
);
$args = array(
'labels' => $labels,
'show_admin_column' => true,
'hierarchical' => true,
'public' => true,
'rewrite' => array('slug' => $slug),
//'rewrite' => array('slug' => $slug,'with_front' => true,'hierarchical' => true),
'show_tagcloud' => true
);
register_taxonomy($name,$post_type,$args);
}

 

và đây là cách sử dụng nó để tạo post type.


create_post_type("Thông Tin Dự Án","duan","duan",array( 'title','editor','thumbnail','excerpt','comments'));

với dòng đầu tiên là tên hiển thị của post type, cái thứ 2 và 3 đại khái là slug của post type, phần thứ 4 là các thuộc tính mở rộng của post type đó.
xem thêm thông tin các thuộc tính tại đây nhé.

 

và cách đăng ký taxonomy cho post type tại đây


 

create_taxonomy_theme("Danh mục dự án","danh-muc-du-an","danh-muc-du-an","duan");

 

Với phần 1 là tên của taxonomy trên menu, 2,3 đại khái đặt là slug của taxonomy, phần cuối cùng là đánh tên post type cần tạo taxonomy vào nhé. Ví dụ ở trên mình tạo post type là “duan” thì mình gõ vào phần cuối là duan.

Đơn giản vậy thôi nhé.
Chúc các bạn quản lý dự án web hiệu quả hơn với thủ thuật này. Xin cám ơn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *