钩子文档

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.

User Contributed Notes

  1. Skip to note 2 content

    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 );