Khi lập trình theme WordPress bạn sẽ phải sử dụng nhiều hàm hỗ trợ để đưa dữ liệu từ cơ sở dữ liệu ra ngoài. Với WordPress có nhiều hàm khác nhau. Tuy nhiên trong khuôn khổ bài viết này mình sẽ hướng dẫn bạn cách get category hay còn gọi là chuyên mục để đưa ra ngoài website.
1. Lấy tất cả Category
Để lấy tất cả chuyên mục bạn dùng hàm get_categories()
<?php $categories = get_categories(); foreach ( $categories as $category ) { var_dump('<pre>'); print_r($category); var_dump('</pre>'); } ?>
Sau khi chạy bạn sẽ kết quả trả về sẽ là danh sách các đối tượng có trong Database
Cách giá trị trả về cần chú ý:
- term_id: là id của chuyên mục
- name: tên của chuyên mục
- slug: là đường dẫn url
Tiếp đó mình sẽ dùng 3 dòng lệnh để lấy id, tên và đường dẫn
echo $category->term_id."<br/>"; echo $category->name."<br/>"; echo $category->slug."<br/>";
Như vậy là bạn đã lấy được danh sách tất cả các Category có trên website rồi.
Get chuyên mục theo ID bài viết
$cat_id =get_the_category('4'); Hoặc $cat_id =get_the_category($post->ID);
2. Get category theo id hiện tại
Lấy chuyên mục hiện tại bạn sẽ dùng get_the_category()
Cũng tương tự như ở trên bạn thay bằng get_the_category() vào get_categories() thì kết quả nó chỉ lấy một Object hiện tại mà thôi.
Hoặc bạn cũng có thể dùng hàm get_queried_object()
để Query Category hiện tại.
3. Get Category cho Custom Post Type
Trong trường hợp website của bạn có thêm Custom Post Type hoặc sử dụng Woocommerce thì bạn sẽ phải dùng
$args = array( 'type' => 'post', 'number' => 10, 'parent' => 0 ); $categories = get_categories( $args ); foreach ( $categories as $category ) { print_r($category); }
Tại 'type' => 'post'
bạn có thể thay post bằng đường dẫn custom post type hoặc là product
(Nếu dùng Woocommerce).
Với bài viết này bạn đã biết cách lấy dữ liệu danh mục từ Database trong WordPress để hiển thị ra ngoài Frontend rất đơn giản phải không. Sau khi đọc xong hãy áp dụng ngay thực hành và làm chủ mã nguồn WordPress nhé!
Hướng dẫn cách tắt comment trong wordpress
Trong quá trình xây dựng và quản lý một trang web WordPress, việc tắt chức năng comment có thể là một yêu cầu phổ biến. Điều này…