发送给WordPress调用的Add_SubMenu_Page()的回调是什么?

时间:2014-10-09 作者:Jorge Orpinel Pérez

WordPress试图通过它的所有动作和过滤器来实现事件驱动。但它也有特殊的函数来创建管理页面,例如add\\u submenu\\u page(),它接受(回调)$函数参数。

此函数实际何时执行?在哪个动作触发时间之间或在哪个动作触发时间?

这一定是行动顺序中的很晚了,因为我已经尝试从中链接到admin\\u通知,但它不起作用。看见Actions Run During an Admin Page Request 对于处于/wp admin时的典型动作触发顺序。

More details

为什么我想知道这个?我正在处理来自add\\u submenu\\u page()回调的表单,因为这是我能想到的处理表单POST数据的最佳位置,在出现验证错误时,我希望显示一个简单的管理通知“正确的方式”,即by hooking a fn into admin_notices. 我想我可以在html代码中以条件形式打印通知,或者尝试在早期阶段处理表单。

注意:我不喜欢使用admin\\u post\\u(action)而不是add\\u submenu\\u page()的回调,这没有什么用处。

2 个回复
最合适的回答,由SO网友:gmazzap 整理而成

这一定是行动顺序中的很晚了,因为我已经尝试从中链接到admin\\u通知,但它不起作用。

$function 回调(参数add_submenu_page) 用于output 管理页面的内容,所以它在WordPress实际显示页面的标记(正文)时运行。

这应该很清楚,因为您使用echo 在回调中。

Actions Run During an Admin Page Request 你链接了,就在之前"in_admin_footer".

“”admin_notices“当WordPress输出管理页面的内容时也会触发,但就在之前(管理通知的输出位于管理页面正文的顶部)。

如果需要有条件地输出管理通知,请在“上设置条件”admin_notices“回调。

SO网友:Maria Daniel Deepak

对于位于任何其他位置的设置页面,默认管理员通知不会自动显示。因此,如果您的插件或主题页位于其自己的菜单中,或位于任何菜单的子菜单中,而不是Settings, WordPress不会自动显示默认的管理员通知。在这种情况下,您需要调用settings_errors() 显示默认值errorupdated 消息。-DigWP.com

References:

  1. WordPress codex

结束

相关推荐

wp_list_tables bulk actions

如何在扩展的WP\\U List\\U表中触发批量操作。我一直在将以下批量操作添加到may table的选择框中,但在Apply上不会发生任何事情下面是我如何添加批量操作的function get_bulk_actions() { $actions = array( \'delete\' => \'Delete\', \'parsing\' => \'Parsen\' );