wp_update_nav_menu
云策文档标注
概述
wp_update_nav_menu 是一个 WordPress 动作钩子,在导航菜单成功更新后触发。它允许开发者在菜单更新时执行自定义代码,例如处理菜单数据或更新相关设置。
关键要点
- 触发时机:在导航菜单成功更新后立即执行。
- 参数:$menu_id(整数,更新菜单的 ID)和 $menu_data(数组,包含菜单数据的数组)。
- 相关函数:与 WP_REST_Menus_Controller::handle_auto_add()、wp_nav_menu_update_menu_items() 和 wp_update_nav_menu_object() 等函数关联。
- 版本历史:自 WordPress 3.0.0 版本引入。
注意事项
在回调函数中使用两个参数时,第二个参数 $menu_data 应设置默认值为空数组,以避免致命错误。
代码示例
function wpdocs_update_menu_stuff_after_update( $menu_id, $menu_data = array() ) {
// 添加菜单相关操作
}
add_action( 'wp_update_nav_menu', 'wpdocs_update_menu_stuff_after_update', 10, 2 );
原文内容
Fires after a navigation menu has been successfully updated.
Parameters
$menu_idint-
ID of the updated menu.
$menu_dataarray-
An array of menu data.
Source
do_action( 'wp_update_nav_menu', $menu_id, $menu_data );
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |
Skip to note 2 content
Nitish Kaila
If you are using 2 arguments for this action, in the callback function second argument needs a default empty array. If the second argument does not have a default array then it will throw the fatal error.
function wpdocs_update_menu_stuff_after_update( $menu_id, $menu_data = array() ) { //add menu stuff } add_action( 'wp_update_nav_menu', 'wpdocs_update_menu_stuff_after_update', 10, 2 );