Custom taxonomy trong wordpress từ a đến z và get chúng ra front end

Source: Custom taxonomy trong wordpress từ a đến z và get chúng ra front end
Chào các cậu! Tiếp tục với chủ đề lập trình theme cho wordpress, hôm nay mình sẽ hướng dẫn các bạn cách custom taxonomy trong wordpress.
Vậy phân loại học là gì? Nó có quan trọng hay không? Tại sao chúng ta cần phải đi tìm nó? … Tất cả những gì tôi sẽ làm rõ trong bài đăng này.

Phân loại tùy chỉnh trong wordpress là gì?
Mặc định khi cài đặt wordpress, trong phần đăng bài viết (Articles) chúng ta sẽ thấy có 2 phần: Thể loại và Thẻ. 2 phần này trong wordpress được gọi là phân loại (Category taxonomy).
Tạo một phân loại danh mục mới có cấu trúc tương tự như danh mục hoặc thẻ được gọi là phân loại tùy chỉnh trong wordpress.
Ví dụ: Chúng ta có một loại bài viết tùy chỉnh là sản phẩm, hiện tại nếu chúng ta muốn chia sản phẩm theo danh mục thì mặc định wordpress không cung cấp. Chúng tôi phải tạo “danh mục” phân loại tùy chỉnh để tạo danh mục sản phẩm…

Tạo phân loại tùy chỉnh trong wordpress
Để tạo phân loại tùy chỉnh, hãy chèn mã sau vào tệp functions.php của chủ đề bạn đang sử dụng.
Vâng, tôi sẽ tạo một đơn vị phân loại tùy chỉnh vị trí trong bài đăng Vui lòng.
Cú pháp
function location_custom_taxonomy() {
$labels = array(
'name' => 'Địa điểm',
'singular' => 'Địa điểm',
'menu_name' => 'Địa điểm'
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
);
register_taxonomy('dia-diem', 'post', $args);
}
add_action( 'init', 'location_custom_taxonomy', 0 );
Chú ý
- thứ bậc tham số có thể nhận 2 giá trị, nếu thật sau đó cùng một chức năng Thể loại, vẫn còn sai sau đó cùng một chức năng Thẻ
- Hàm register_taxonomy nhận 3 tham số
- ‘vị trí’ Đây là slug của taxonomy mà sau này sẽ được sử dụng để lấy dữ liệu. Đặt tên tùy thích, viết ngay không dấu
- ‘bài đăng’ đây là loại bài đăng hiển thị phân loại này. Ví dụ: nếu bạn muốn tạo phân loại cho một sản phẩm, địa điểm này phải là ‘san-pham’
- $ args là tham số được khai báo ở trên
Tạo phân loại tùy chỉnh với plugin
Ngoài cách tạo phân loại bằng đoạn mã trên, cũng có rất nhiều plugin hỗ trợ việc này. Tôi cũng đã có một bài viết về cách tạo phân loại tùy chỉnh với plugin các loại bộ công cụ mà bạn có thể tham khảo. Hoặc xem một số plugin miễn phí sau
- Nhóm – Các loại và trường nội dung tùy chỉnh
- Giao diện người dùng loại bài đăng tùy chỉnh
- Phân loại tùy chỉnh MB
Nhận phân loại tùy chỉnh trong wordpress
Nhận danh sách phân loại tùy chỉnh
Tương tự với get category trong wordpress, chúng ta sử dụng đoạn mã sau để chèn vào vị trí cần hiển thị trong theme
<?php $args = array(
'hide_empty' => 0,
'taxonomy' => 'danh-muc',
);
$cates = get_categories( $args );
foreach ( $cates as $cate ) { ?>
<li>
<a href="https://hocwordpress.vn/<?php echo get_term_link($cate->slug,"danh-muc'); ?>"><?php echo $cate->name; ?></a>
</li>
<?php } ?>
Chú ý : Tham số taoxonomy nhận giá trị của slug của phân loại mà chúng ta khai báo khi tạo nó
Nhận bài đăng với phân loại tùy chỉnh trong wordpress
Để có được danh sách các mục thuộc một phân loại nhất định, theo mặc định, chúng tôi sẽ đặt tên tệp là: phân loại học- {slug} .php Như trong ví dụ trên, chúng tôi sẽ đặt tên tệp là taxonomy-dia-diem.php
Đối với wp_query mới, chúng tôi sẽ có mã nhận được sau:
<?php
$args = array(
'posts_per_page' => -1,
'post_type' => 'post',
'dia-diem' => 'slug'
);
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
// Thông tin cần lấy của 1 bài viết
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
Chú ý: Slug trong tham số trên là slug của đơn vị phân loại cần lấy.
tóm lược
Vì vậy, hôm nay mình đã hướng dẫn các bạn cách tùy chỉnh taxonomy trong wordpress. Đây cũng là một trong những kiến thức rất quan trọng. Làm cho trang web của chúng tôi chuyên nghiệp hơn.
Mình sẽ tiếp tục cập nhật những bài viết mới nhất trong chủ đề này. Hãy để mắt đến nó!
Xin cảm ơn và xin chào tất cả mọi người.
Via: sieucoder.com
from sieucoder.com https://ift.tt/2ZYSEpF
via Sieucoder.com
Nhận xét
Đăng nhận xét