首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >激活WordPress菜单

激活WordPress菜单
EN

Stack Overflow用户
提问于 2014-05-01 07:09:43
回答 1查看 232关注 0票数 1

我已经创建了一个WordPress菜单:

代码语言:javascript
复制
$menu_id = wp_create_nav_menu('MyMenu');

并成功向其中添加了菜单项。它们在外观-->菜单中正确显示。

菜单列表的底部是带有两个复选框的“菜单设置”。第一个是“自动添加...”第二个是“主菜单(当前设置为:)”。

我需要代码来做什么时,框是选中的,我保存菜单。

我使用论文185作为主题。

EN

回答 1

Stack Overflow用户

发布于 2014-05-09 19:40:46

可以使用以下命令读取这些复选框:

用于“自动添加...”的

  • get_option('nav_menu_options')和用于“主菜单(当前设置为)”的
  • get_theme_mod( 'nav_menu_locations' );

当导航菜单更新时有一个钩子(wp_update_nav_menu),但不幸的是there's a bug on the system,因为创建了两个相同的钩子。

我已经设法使一个丑陋的变通方法只运行一次:

代码语言:javascript
复制
add_action( 'load-nav-menus.php', function()
{
    if( isset( $_POST['save_menu'] ) )
    {
        global $my_hook_only_once;
        $my_hook_only_once = false;
        add_action( 'wp_update_nav_menu', function( $menu_id ) 
        {
            global $my_hook_only_once;
            if( $my_hook_only_once )
                return;
            $nav_options = get_option('nav_menu_options');
            $locations = get_theme_mod( 'nav_menu_locations' );
            # Firephp logging
            // my_log( $nav_options['auto_add'], 'Auto add' );
            // my_log( $locations, 'Menu locations' );
            $my_hook_only_once = true;
        });
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23399611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档