WP_List_Table批量操作管理员通知

时间:2017-11-03 14:11:06

标签: php wordpress custom-wordpress-pages

我正在使用WordPress arrangedSubviews来显示所有请求列表,我自定义批量操作以批准和拒绝用户请求但是无论何时执行批量操作,我想添加管理员通知但是它不起作用,我认为页面正在重定向。

WP_List_Table

1 个答案:

答案 0 :(得分:0)

您的add_action( 'admin_notices', 'my_update_notice');行很好,而且您附加的动作处理功能也很好。那么问题就在于调用你正在使用的process_bulk_action()函数的确切时间和位置。

请记住,WordPress中的admin_notices挂钩是fired in the header。如果某个主题或插件正在使用process_bulk_action()功能,而该主题或插件实际上已连接到 之后已经发生admin_notices事件,那么您的通知将永远不会被看到。没有错误,只是没有。你只是搞得太晚了。

要更正此问题,请将此process_bulk_action()函数的用法移至较早的钩子;即在admin_notices发生之前被解雇的一个。我建议admin_init。这样,你的动作处理程序实际上会被调用,并且通知将被视为预期。

另外请确保您没有任何其他代码,这些代码会在通知出现之前将用户重定向到处理表单提交的PHP进程;即,如果在加载HTML标记之前重定向用户,则通知也不会被看到。

旁白:您发布的代码容易受到各种攻击。在使用之前,请务必正确清理您正在使用的请求数据。

简而言之,您无法确定(除非您检查),$_REQUEST['wp_premium_users_request']实际上是一个数组。此外,您无法确切知道数组实际包含的内容。因此,在使用来自Web浏览器表单提交的不受信任的数据源之前,请确保彻底验证/清理。

此外,请务必use and verify an Nonce