Cách thêm hành động tuỳ chỉnh cho Bulk Actions

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

Không chỉ là xoá và chỉnh sửa, bạn muốn thêm một hành động tuỳ chỉnh cho Bulk Actions? Vậy bài viết này sẽ giúp bạn thực hiện điều đó.

Đây là kết quả bạn sẽ đạt được:

Thêm hành động tuỳ chỉnh

Bài viết này, mình sẽ tạo thêm một hành động thay đổi hàng loạt trạng thái của các bài viết. Cụ thể hơn là mình muốn thay đổi trạng thái của các bài viết thành “Bản nháp”.

Bạn thêm đoạn code dưới đây vào file functions.php của child hoặc child theme nhé.

add_filter( 'bulk_actions-edit-post', 'hk_custom_bulk_actions' );
function hk_custom_bulk_actions( $bulk_array ) {
	$bulk_array['hk_make_draft'] = 'Sửa thành Bản nháp';
	return $bulk_array;
}

Ở đoạn code trên, mình sử dụng hook bulk_action-eidt-{$screen} Nếu bạn không muốn tạo hành động tuỳ chỉnh cho Bài viết, hay thay đổi giá trị của $screen.

Nếu là Trang, $screen sẽ là page. Cụ thể hơn là bulk_actions-edit-page. Tương tự các loại custom post type khác cũng như vậy nhé.

Xử lý hành động

Sau khi đã thêm hành động thành công ở trên Bulk Actions. Việc tiếp theo là bạn phải xử lý hành động đó. Ở phần này mình sẽ sử dụng đến filter hook handle_bulk_actions-{$screen}. Tương tự như phần trên, bạn phải thay đổi biến $screen sao cho phù hợp với nhu cầu của bạn nhé.

Hãy thêm đoạn code dưới đây vào bên dưới đoạn code ở phần trên.

function hk_bulk_action_handler( $redirect, $doaction, $object_ids ) {
	$redirect = remove_query_arg( array( 'hk_make_draft_done' ), $redirect );

	if ( $doaction == 'hk_make_draft' ) {

		foreach ( $object_ids as $post_id ) {
			wp_update_post( array(
				'ID' => $post_id,
				'post_status' => 'draft' // set status
			) );
		}

		$redirect = add_query_arg(
			'hk_make_draft_done',
			count( $object_ids ),
		$redirect );

	}

	return $redirect;
}

Thông báo sau khi áp dụng hành động

Đây là bước cuối cùng, bạn sẽ tạo một thông báo tuỳ chỉnh sau khi hành động của bạn được áp dụng. Tương tự hai phần trên, hãy thêm đoạn code sau vào file functions.php nhé.

add_action( 'admin_notices', 'hk_bulk_action_notices' );
function hk_bulk_action_notices() {
	if ( ! empty( $_REQUEST['hk_make_draft_done'] ) ) {
		echo '<div id="message" class="updated notice is-dismissible">
			<p>Trạng thái bài viết đã được cập nhập.</p>
		</div>';
	}
}

Đây là kết quả mà bạn sẽ nhận được:

Lời kết

Mình hi vọng bài viết trên sẽ phần nào hỗ trợ bạn tốt hơn trong việc quản lý các bài viết trên WordPress. Nếu bài viết này hữu ích và giúp tiết kiệm được thời gian của bạn, hãy giúp mình chia sẻ nó. Ngoài ra nếu bạn quan tâm đến các chủ đề tương tự như vậy, hãy đọc các bài viết Thủ thuật WordPress khác và follow Fanpage để không bỏ lỡ bài viết mới từ mình nhé.

5 1 vote
Đá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