【问题标题】:wp_menu in wordpress php functionwordpress php函数中的wp_menu
【发布时间】:2015-05-01 03:25:31
【问题描述】:

我正在尝试在 wordpress 中创建一个简单的导航,但是 wp_nav_menu 参数被忽略了,我是否遗漏了一些明显的东西?

我正在使用一个名为 html5 blank 的空白模板。下面列出了我采取的步骤

1) 在functions.php中注册菜单

2) 从wordpress后端创建一个名为'p'的菜单并分配页面

3) 给菜单一个主题位置

注册和分配菜单位置工作正常,有些但出于某种原因 wp_ 参数被忽略 EG 容器、菜单类、菜单 ID 等...

如果我检查元素,容器 'nav' 丢失并且 li 项目具有默认的 word press 类


下面是我的代码

header.php 中的代码

<?php html5blank_nav() ?>

functions.php 中的代码

function html5blank_nav()
    {
        wp_nav_menu(
        array(
            'theme_location'  => 'primary pete',    
            'menu'            => 'p'
            'container'       => 'nav',
            'container_class' => '',
            'container_id'    => '',
            'menu_class'      => 'slimmenu',
            'menu_id'         => 'navigation',
            'echo'            => true,
            'fallback_cb'     => 'false',
            'before'          => '',
            'after'           => '',
            'link_before'     => '',
            'link_after'      => '',
            'items_wrap'      => '<ul>%3$s</ul>',
            'depth'           => 0,
            'walker'          => ''
            )
        );
    }

// 注册 HTML5 空白导航

  function register_html5_menu()
        {
            register_nav_menus(array( // Using array to specify more menus if needed
                'primary' => __('primary pete', 'Primary Menu'), 

                'sidebar-menu' => __('Sidebar Menu', 'html5blank'), 

                'extra-menu' => __('Extra Menu', 'html5blank') 
            ));
    }




// Remove the <div> surrounding the dynamic navigation to cleanup markup
function my_wp_nav_menu_args($args = '')
{
    $args['container'] = false;
    return $args;
}





// Remove Injected classes, ID's and Page ID's from Navigation <li> items
function my_css_attributes_filter($var)
{
    return is_array($var) ? array() : '';
}

// Remove invalid rel attribute values in the categorylist
function remove_category_rel_from_category_list($thelist)
{
    return str_replace('rel="category tag"', 'rel="tag"', $thelist);
}

// Add page slug to body class, love this - Credit: Starkers Wordpress Theme
function add_slug_to_body_class($classes)
{
    global $post;
    if (is_home()) {
        $key = array_search('blog', $classes);
        if ($key > -1) {
            unset($classes[$key]);
        }
    } elseif (is_page()) {
        $classes[] = sanitize_html_class($post->post_name);
    } elseif (is_singular()) {
        $classes[] = sanitize_html_class($post->post_name);
    }

    return $classes;
}

非常感谢, P

【问题讨论】:

    标签: php html wordpress


    【解决方案1】:

    当我尝试重现此菜单时,会显示带有 container_class=> 'slimmenu' 的菜单。 您确定当您向 container_class 参数添加类时,检查器中不会显示该类吗?

    当我复制您的代码时,还注意到参数“p”后缺少逗号。但我不认为它会解决你的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多