Mặc định trong WordPress sẽ cho bạn Post và Page để xuất bản nội dung và hai cái này được gọi là Post Types. Nếu bạn có nhu cầu sử dụng nhiều hơn 2 Post Types, ví dụ Sản Phẩm thì bắt buộc chúng ta phải tự tạo một Post Types tương ứng, và cái Post Types mà do chúng ta tự tạo ra thì được gọi là Custom Post Types.
Thêm Taxonomy
Ví dụ thêm một Taxonomy là Series cho Post để gom các bài viết vào một Series (như Init HTML đang có).
/*
* Register SERIES tax
*/
function create_series_tax() {
register_taxonomy(
'series',
'post',
array(
'label' => __('Series'),
'rewrite' => array('slug' => 'series'),
'hierarchical' => true,
)
);
}
add_action('init', 'create_series_tax');
Kết quả:
Sử dụng Taxonomy
Theo ví dụ trên, để sử dụng, các bạn tạo thêm file taxonomy-series.php
, với mã nguồn giống như category.php
là được.
global $query_string;
query_posts($query_string);
if (have_posts()) : while (have_posts()) : the_post();
// Danh sách bài viết trong Series
endwhile; endif;
Thêm Post Types
Ví dụ thêm Định nghĩa (như Init HTML đang có).
/**
* Register GLOSSARY post type
*/
function create_glossary_post_type() {
register_post_type('glossary',
array(
'labels' => array(
'name' => __('Định Nghĩa'),
'menu_name' => __('Định nghĩa'),
'singular_name' => __('Định nghĩa'),
'all_items' => __('Tất cả định nghĩa'),
'add_new' => __('Viết bài mới'),
'add_new_item' => __('Thêm định nghĩa mới'),
'edit' => __('Sửa định nghĩa'),
'edit_item' => __('Sửa định nghĩa'),
'new_item' => __('Định nghĩa mới'),
'view' => __('Xem định nghĩa'),
'view_item' => __('Xem định nghĩa'),
'search_items' => __('Tìm định nghĩa'),
'not_found' => __('Không tìm thấy định nghĩa'),
'not_found_in_trash' => __('Không tìm thấy định nghĩa')
),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'publicy_queryable' => true,
'exclude_from_search' => false,
'menu_position' => 4,
'hierarchical' => false,
'show_in_nav_menus' => true,
'has_archive' => true,
'query_var' => true,
'supports' => array(
'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'
),
'rewrite' => array('slug' => 'dinh-nghia', 'with_front' => false),
'can_export' => true,
'description' => __('glossary')
));
}
add_action('init', 'create_glossary_post_type');
Kết quả:
Bạn có thể dùng đoạn mã tạo Taxonomy ở trên để tạo Category cho Post Types này. Lưu ý thay post
bằng glossary
.
Sử dụng
Để đầy đủ, chúng ta cần 2 tập tin mới trong theme: archive-glossary.php
để liệt kê danh sách bài viết và single-glossary.php
để xem bài viết.
Để lấy bài viết là Định nghĩa, ta sử dụng:
query_posts('post_type=glossary');
Chúc các bạn thành công!
Không có bình luận.