Tạo bộ lọc theo tác giả và taxonomy trong trang quản trị WordPress

Ngày đăng: 26 - 03 - 2022 Lượt xem: 1407 lượt

Điều gì sẽ xảy ra nếu bạn có quá nhiều bài đăng trên blog của mình? Làm cách nào để bạn quản lý chúng trong trang quản trị WordPress.

Bài viết này mình sẽ hướng dẫn các bạn tạo thêm các bộ lọc tuỳ chỉnh trong trang quản trị WordPress. Cụ thể hơn là bộ lọc theo tác giả và theo taxonomy.

Lọc bài viết theo tác giả

Đây là hình ảnh kết quả sau khi bạn làm theo hướng dẫn của mình:

tạo bộ lọc theo tác giả

Bộ lọc này không chỉ hỗ trợ cho Bài viết, mà còn cho Trang và custom post type. Bạn hãy bỏ đoạn code dưới đây vào file functions.php của theme hoặc child theme.

function hk_filter_by_the_author() {
	$params = array(
		'name' => 'author',
		'show_option_all' => 'Tất cả tác giả'
	);
 
	if ( isset($_GET['user']) )
		$params['selected'] = $_GET['user'];
 
	wp_dropdown_users( $params );
}
 
add_action('restrict_manage_posts', 'hk_filter_by_the_author');

Vậy là xong, bây giờ bạn có thể lọc được các bài viết theo từng tác giả cụ thể trong trang quản trị WordPress.

Lọc bài viết theo taxonomy

Như bạn cũng đã biết, WordPress đã có bộ lọc mặc định theo danh mục của Bài viết. Tuy nhiên trang web của bạn có các loại post type tuỳ chỉnh khác, và bạn muốn tạo bộ lọc theo taxonomy cho các post type đó.

Sau đây, mình sẽ hướng dẫn các bạn cách để làm được điều này. Nhưng trước hết, đây là hình ảnh kết quả thực tế của mình:

Các bạn hãy bỏ đoạn code dưới đây vào file functions.php của theme hoặc child theme nhé.

function hk_posts_taxonomy_filter() {
	global $typenow;
	if ($typenow == 'du-an') { // post type slug
		$taxonomy_names = array('loai-hinh-du-an', 'chu-dau-tu'); // taxonomy slug
		foreach ($taxonomy_names as $single_taxonomy) {
			$current_taxonomy = isset( $_GET[$single_taxonomy] ) ? $_GET[$single_taxonomy] : '';
			$taxonomy_object = get_taxonomy( $single_taxonomy );
			$taxonomy_name = strtolower( $taxonomy_object->labels->name );
			$taxonomy_terms = get_terms( $single_taxonomy );
			if (count($taxonomy_terms) > 0) {
				echo "<select name='$single_taxonomy' id='$single_taxonomy' class='postform'>";
				echo "<option value=''>Tất cả $taxonomy_name</option>";
				foreach ($taxonomy_terms as $single_term) {
					echo '<option value='. $single_term->slug, $current_taxonomy == $single_term->slug ? ' selected="selected"' : '','>' . $single_term->name .' (' . $single_term->count .')</option>'; 
				}
				echo "</select>";
			}
		}
	}
}
add_action( 'restrict_manage_posts', 'hk_posts_taxonomy_filter' );

Khác với phần tác giả, ở phần này các bạn hãy lưu ý một chút.

Đầu tiên là ở dòng thứ 3, bạn sẽ thấy đoạn $typenow == 'du-an'. Đây chính là slug post type của mình. Bạn hãy thay thế thành của bạn. Ngoài ra nếu bạn muốn nhiều hơn một post type ở trường hợp này, bạn hãy thay code trong câu lệnh if ở dòng thứ 3 thành $typenow array('post-type-1', 'post-type-2').

Hai là ở dòng thứ 4, bạn sẽ thấy đoạn $taxonomy_names = array('loai-hinh-du-an', 'chu-dau-tu');. Đây là slug taxonomy của mình, hãy thay thế thành của bạn nhé.

Vậy là xong rồi. Hãy tận hưởng kết quả mà bạn đã làm được. ????

Lời kết

Đây là một thủ thuật vô cùng hữu ích để giúp bạn tiết kiệm thời gian, và quản lý bài viết hiệu quả hơn. Nếu các bạn thấy bài viết này giúp ích cho bạn, hãy bình luận và chia sẻ bài viết này.

Ngoài ra, bạn có thể theo dõi chuyên mục Thủ thuật WordPress và follow Facebook để biết thêm nhiều kiến thức mới nha.

4 2 votes
Đánh giá bài viết

Nhận thông báo
Nhận thông báo cho
guest

0 Góp ý
Inline Feedbacks
View all comments

Bài viết liên quan

WordPress Multisite là gì? 6 bước cài đặt chi tiết

WordPress Multisite là gì? 6 bước cài đặt chi tiết

20 - 11 - 2022

Doanh nghiệp của bạn đang phát triển muốn mở rộng thêm nhiều chi nhánh và muốn xây dựng thêm...

Chi tiết cách kiểm tra mã độc WordPress và loại bỏ chúng

Chi tiết cách kiểm tra mã độc WordPress và loại bỏ chúng

15 - 11 - 2022

Đối với website, mã độc được sử dụng để đánh cắp thông tin khách hàng, nắm giữ thông tin...

So sánh Blogspot và WordPress, 2 nền tảng Blog tốt nhất hiện nay

So sánh Blogspot và WordPress, 2 nền tảng Blog tốt nhất hiện nay

11 - 11 - 2022

WordPress và Blogspot hiện nay đang là 2 nền tảng website dạng blog nổi tiếng nhất trên thế giới....

Uncategorized là gì, cách đổi tên danh mục Uncategorized trong WordPress

Uncategorized là gì, cách đổi tên danh mục Uncategorized trong WordPress

05 - 11 - 2022

Trong WordPress, Category để chỉ một danh mục được sử dụng để gom các bài viết có liên quan...

Elementor là gì? hướng dẫn cài đặt Elementor chi tiết

Elementor là gì? hướng dẫn cài đặt Elementor chi tiết

03 - 11 - 2022

Elementor là một plugin xây dựng trang giúp bạn dễ dàng tạo các trang web WordPress đẹp. Ngay cả...

4 cách xóa category trong URL WordPress đơn giản, nhanh chóng

4 cách xóa category trong URL WordPress đơn giản, nhanh chóng

02 - 11 - 2022

Nhà phát triển wordpress thêm / category / urls để dễ dàng xác định các trang web có /...

0
Would love your thoughts, please comment.x