【后台】菜单管理界面菜单项增加自定义字段

来源:互联网 发布:客户管理系统源码 编辑:程序博客网 时间:2024/05/16 10:17

1、增加菜单项

        添加过滤器wp_setup_nav_menu_item钩子

add_filter( 'wp_setup_nav_menu_item', '回调函数');

原型参考:

apply_filters( 'wp_setup_nav_menu_item', object $menu_item )

 

Filters a navigation menu item object.

Parameters #Parameters


$menu_item             (object) The menu item object.


回调函数:

        $menu_item->newItem = get_post_meta( $menu_item->ID,'_menu_item_newItem', true );

 

2、显示菜单项

       显示实际上最后是调用wp_edit_nav_menu_walker显示的,增加自定义wp_edit_nav_menu_walker过滤器

       add_filter('wp_edit_nav_menu_walker', '自定义walker回调', 10, 2 );

 

3、保存设置

       添加动作wp_update_nav_menu_item钩子

       add_action( 'wp_update_nav_menu_item', '回调函数',10, 3 );

原型参考

      do_action( 'wp_update_nav_menu_item', int $menu_id, int$menu_item_db_id, array $args )

      Fires after a navigation menu item has been updated.


      Parameters #Parameters

      $menu_id                      (int) ID of the updated menu.

      $menu_item_db_id       (int) ID of the updated menu item.

      $args                             (array) An array of arguments used to update a menu item.

回调函数:

      获取post中自定义参数的值,并调用update_post_meta保存

      update_post_meta( $menu_item_db_id, '_menu_item_'.$key, $value );

4、使用设置

      显示前调用wp_get_nav_menu_items获取菜单项,会调用wp_setup_nav_menu_item过滤器增加自定义项,在前台页面可以直接显示。


原创粉丝点击