WordPress的“handle_bulk_actions-{$screen}”是一个针对特定屏幕的批量操作钩子。此钩子用于处理WordPress后台管理界面上的批量操作。以下是该钩子的用法详解:
1. 钩子名称:
handle_bulk_actions-{$screen}
2. 用法:
使用该钩子需要在主题或插件的代码中添加一个钩子函数。
示例代码如下:
function custom_handle_bulk_action( $redirect_to, $action, $post_ids ) {
// 在这里添加你的自定义逻辑
}
add_filter( 'handle_bulk_actions-{$screen}', 'custom_handle_bulk_action', 10, 3 );
请将`custom_handle_bulk_action`替换为你自己定义的函数名。
3. 参数:
- $redirect_to:一个字符串,包含了完成批量操作后应该跳转到的URL。
- $action:一个字符串,表示当前选择的批量操作。
- $post_ids:一个包含了所选项目的ID数组。
4. 使用示例:
下面是一个示例,展示了如何使用“handle_bulk_actions-{$screen}”钩子来自定义批量操作。
function custom_handle_bulk_action( $redirect_to, $action, $post_ids ) {
// 检查所选操作
switch ( $action ) {
case 'approve':
foreach ( $post_ids as $post_id ) {
// 在此处编写审核逻辑
}
break;
case 'delete':
foreach ( $post_ids as $post_id ) {
// 在此处编写删除逻辑
}
break;
default:
// 默认情况下不执行任何操作
return $redirect_to;
}
// 根据需要重定向到自定义URL
$redirect_to = admin_url( 'edit.php?post_type=your_post_type' );
// 如果不需要重定向,则返回原始$redirect_to值
return $redirect_to;
}
add_filter( 'handle_bulk_actions-{$screen}', 'custom_handle_bulk_action', 10, 3 );
在上面的示例中,我们根据不同的操作('approve'和 'delete')编写了相应的自定义逻辑。在完成操作后,我们将重定向到自定义的URL。
注意:在使用这个钩子时,需要将`{$screen}`替换为实际的屏幕标识符(比如'post'、'page'等)。
0 个评论