WordPress – Custom Post Type

Người đăng: VNTAOBAO.COM on Thứ Sáu, 1 tháng 3, 2013


WordPress – Custom Post Type

Phiên bản 3.0 của wordpress đã ra đời khá lâu rồi. Nhưng một trong những tính năng mạnh mẽ của phiên bản này không phải ai cũng biết, đó là Custom Post Type. Với tính năng này, bạn có thể thoái mái sáng tạo những cách quản lý bài viết trên WP. Ví dụ đơn giản như tôi muốn quản lý 1 shop buôn bán thời trang nhỏ, hay 1 trang web môi giới nhà đất… Nhưng bằng những bài Post bình thường thì có thể làm được rồi. Tại sao phải dùng Custom Post Type?
Câu trả lời đơn giản là ai cũng muốn phân loại những bài viết 1 cách sạch sẽ nhất, không muốn 1 bài viết về cái áo hiệu ABC lại đi nằm chung chỗ với 1 bài viết thuộc blog, nó khó quản lý, và tìm 1 bài viết nào đó để sửa cũng hơi lâu. Thay vì đó ta có thể tạo ra những “cái chuồng” , để nhốt chúng lại.
1. Khai báo một Custom Post Type
Để đăng ký với WP 1 post type mới ta nên khai báo trong file functions.php với cấu trúc tương tự như sau:

/*Custom post type*/
add_action('init', 'create_product_post_type');
function create_product_post_type(){
register_post_type('product',
array(
'labels' => array(
'name' => __('Product'),
'singular_name' => __('Product'),
'add_new' => __('Add New'),
'add_new_item' => __('Add New Product'),
'edit' => __('Edit'),
'edit_item' => __('Edit Product'),
'new_item' => __('New Product'),
'view' => __('View Product'),
'view_item' => __('View Product'),
'search_items' => __('Search Products'),
'not_found' => __('No Products found'),
'not_found_in_trash' => __('No Products found in Trash')
),
'public' => true,
'show_ui' => true,
'publicy_queryable' => true,
'exclude_from_search' => false,
'menu_position' => 20,
'menu_icon' => get_stylesheet_directory_uri(). '/images/product.png',
'hierarchical' => false,
'query_var' => true,
'supports' => array(
'title', 'editor', 'comments', 'author', 'excerpt', 'thumbnail',
'custom-fields'
),
'rewrite' => array('slug' => 'product', 'with_front' => false),
//'taxonomies' => array('post_tag', 'category'),
'can_export' => true,
//'register_meta_box_cb' => 'call_to_function_do_something',
'description' => __('Product description here.')
)
);
}

Dòng 2: Thông báo cho WP biết khi tạo trang admin thì sẽ chạy nội dung trong hàm ‘create_product_post_type’.
Dòng 4: Hàm ‘register_post_type’ nằm trong file wp-includes/post.php, tham số đầu là tên của post type, vd: product, tham số thứ 2 là một array. 1 điều lưu ý là tên của post type và custom taxonomy chúng ta nên viết ký tự thường.
Dòng 7-18 : Định nghĩa lại các label xuất hiện trong trang quản lý Products
Dòng 22: Cho phép query các Product bằng hàm query_posts().
Dòng 24: Chọn vị trí xuất hiện của mục quản lý Products. Vị trí 20 là vị trí sau mục quản lý Pages
Dòng 25: Địa chỉ icon(16×16)
Dòng 26: Có được phân cấp cha con hay không.
Dòng 27: Biến để dùng trong phương thức GET, vd: mặc nhiên là ?product=…
Dòng 28: Khai báo các meta box cho trang add new hay edit 1 product như: comments, author, custom-field, thumbnail …
Dòng 32: Rewrite lại url khi query.
Dòng 34: Có thể xuất nội dung ra file xml.
Dòng 36: Diễn giải
2. Thêm custom taxonomy vào Products
Tôi

Thiet ke web hai phong

{ 0 nhận xét... read them below or add one }

Đăng nhận xét

Ads 468x60px

Social Icons

Featured Posts