1BANNER 123
5/5 - (186 bình chọn)

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

Cách hiển thị của wp_dropdown_categories

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.

Giá trị mình đang lấy ở ví dụ trên là ID
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à

Lấy giá trị là slug thay vì ID

Chúc các bạn thành công

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *