Hàm wp_dropdown_categories là một hàm có chứng năng sẽ hiển thị toàn bộ các danh mục bài viết có trong website của bạn dưới dạng select
Thường thì hàm này thường được sử dụng trong trường hợp các bạn tạo bộ lọc. Hôm nay mình sẽ giới thiệu sơ lược và những thứ mình biết về hàm này. Bạn có thể tham khảo thêm bài viết về hàm này tại: https://developer.wordpress.org/reference/functions/wp_dropdown_categories/
Cách sử dụng hàm wp_dropdown_categories
Cấu trúc hàm này sẽ gồm
wp_dropdown_categories($args)
Và sử dụng như sau
$args = array(
'show_option_none' => __( 'Select category', 'textdomain' ),
'show_count' => 1,
'orderby' => 'name',
'echo' => 0,
);
wp_dropdown_categories( $args );
Những tham số thuộc biến $args sẽ bao gồm (Một số cái quan trọng hay sử dụng để xem đầy đủ hơn thì bạn đọc DOC của wordpress nhé)
show_option_all : Hiển thị toàn bộ các category
show_option_none : Hiển thị option đầu tiên của hàm này (Cái này thường sẽ là Lựa chọn danh mục).
option_none_value : Giá trị cái option đầu tiên.
orderby : Cái này bạn có thể hiểu là các option trong hàm này được sắp xếp theo cái gì đó.
show_count : Hiển thị số lượng bài đăng hay không? giá trị sẽ là 1 hoặc 0,
hierarchical : Danh mục phân cấp
name : Name
id : ID
class: Class
selected: Giá trị lựa chọn khi hiển thị
taxonomy : Mặc định sẽ là category, nếu bạn dùng custom taxonomy thì có thể thêm tại đây.
hide_if_empty : Mặc định ẩn danh mục rỗng
Ví dụ về cách sử dụng hàm wp_dropdown_categories
Giờ mình sẽ có 1 bài toán đơn giản để các bạn có thể hiểu hơn về hàm wp_dropdown_categories nhé.
Mình sẽ cho hiển thị 1 select các danh mục sản phẩm có trong website của mình. Mình sẽ tạo 1 shortcode có tên gọi là show_all_category
function show_all_category(){
ob_start();
$args = array(
'show_option_none' => __( 'Lựa chọn danh mục', 'pttuan410.com' ),
'option_none_value'=> '0',
'class' => 'by_pttuan',
'name' => 'by_pttuan_name',
'id' => 'id_pttuan'
);
wp_dropdown_categories($args);
$list_post = ob_get_contents();
ob_end_clean();
return $list_post;
}
add_shortcode('show_all_category','show_all_category');
Và kết quả sẽ như thế này:
Chũng với hàm trên nhưng mình không muốn giá trị của option là id mà muốn lấy theo dạng slug thì các bạn thêm tham số này vào giúp mình.
function show_all_category(){
ob_start();
$args = array(
'show_option_none' => __( 'Lựa chọn danh mục', 'pttuan410.com' ),
'option_none_value'=> '0',
'class' => 'by_pttuan',
'name' => 'by_pttuan_name',
'id' => 'id_pttuan',
'value_field' => 'slug',
);
wp_dropdown_categories($args);
$list_post = ob_get_contents();
ob_end_clean();
return $list_post;
}
add_shortcode('show_all_category','show_all_category');
Và kết quả là
Chúc các bạn thành công