如何在我的插件中实现批量操作?

时间:2012-02-09 作者:Ahmad

我正在开发WordPress插件。

此插件显示课程列表。现在,我想像在其他插件中一样实现批量操作。我可以从中对列表应用删除和编辑操作。

我将如何做到这一点。WordPress中是否有实现批量操作的内置函数?

有什么帮助吗?

2 个回复
SO网友:Stephen Harris

不幸的是,目前还没有一种方法可以做到这一点,请参见this trac report.

虽然可以将操作添加到批量操作下拉菜单中,但目前还没有处理自定义操作的方法。WordPress似乎故意阻止您添加自定义操作(大概在决定如何处理批量操作之前-请参阅Codex ).

解决方法之一是使用javascript在下拉菜单中插入额外选项,这并不特别漂亮。但是,如前所述,没有(受支持的)处理操作的方法,但是您可以使用load-*admin_action_* 钩(参见核心文件here).

我还没有检查,但我相信应用操作的post ID数组可以通过以下方式获得$_REQUEST[\'post\'] 以及$_REQUEST[\'action\']

请记住no checks have been performed, 所以你必须检查nonces(check_ajax_referrer()) 并检查用户是否有能力执行该操作(current_user_can()).

您可能还想看看这个问题:Custom bulk_action

SO网友:JohnK

斯蒂芬·哈里斯(StephenHarris)说得对,没有实现向批量菜单添加自定义操作的内置方法。

贾斯汀·斯特恩(JustinStern)在回复后,发表了迄今为止关于这一主题的最佳作品:Add a WordPress Custom Bulk Action. 它确实使用了Javascript(jQuery)。这可能就是你所需要的。。。至少在WP工作人员为我们提供了一种内置的方法之前。

在远程可能性方面,您希望将批量操作添加到media page,你需要修改Justin的代码。为此,请看这里:https://wordpress.stackexchange.com/a/92098/23086.

结束

相关推荐

Bulk User Deletion

我创建了一个WordPress 3.0站点,启用了多站点,并安装了BuddyPress插件(每个插件的最新可用版本)。最初,该网站没有启用验证码,现在创建了数百个垃圾邮件帐户。默认情况下,用户的超级管理面板一次仅显示15个用户。我需要删除几百个用户,一页一页地浏览这个页面很单调。是否有可以帮助批量删除用户的插件?我希望能够一次选择和删除几百个用户(或者更好地通过用户名进行regex搜索)。谢谢