如果可以使用相反的顺序在wp_nav_menu上添加自定义菜单项

时间:2016-11-28 11:06:18

标签: php wordpress add-filter

我试图在我的网站上添加自定义菜单项。它显示完美,但我需要显示逆序格式。

就像这个截图:

enter image description here
功能代码为:

  add_filter('wp_nav_menu_items','add_custom_in_menu', 10, 2);
function add_custom_in_menu( $items, $args ) {

    if( $args->theme_location == 'primary') {
        $items .= "<li>
        <div class='userView'> <img class='background' src='".get_bloginfo('template_url')."/assets/images/sidenav-logo-bg.png'> <a href='.'><img src='".get_bloginfo('template_url')."/assets/images/logo-mdm.png' class='responsive-img'></a> </div>
        <div class='show-on-med-and-down nav-social'>
        <a href='#' target='_blank' class='facebook'><i class='fa fa-facebook'></i></a>
              <a href='#' target='_blank' class='twitter'><i class='fa fa-twitter'></i></a>
              <a href='#' target='_blank' class='google'><i class='fa fa-google-plus'></i></a>
              <a href='#' target='_blank' class='linkdin'><i class='fa fa-linkedin'></i></a>
              <a href='#' class='email'><i class='fa fa-envelope'></i></a>
         </div>
      </li>";
    }

    return $items;
}

标题上的菜单链接代码

<?php if ( has_nav_menu( 'primary' ) ) : ?>
            <ul id="slide-out" class="side-nav">
                <?php
                    //  navigation menu.
                    wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary', 'orderby' => 'menu_order') );
                ?>

            </ul>
            <?php endif; ?>

我需要逆向订单,如徽标应位于顶部,其他则在徽标下方循环。请帮忙。

1 个答案:

答案 0 :(得分:1)

目前,您徽标(<li>内的所有内容)附加到$items字符串。您应该改为 prepend ,如下所示:

if( $args->theme_location == 'primary') {
  $items = "<li>\\ template is skipped for readability \\</li>" . $items;
}
return $items;

您可以考虑将徽标模板生成提取到单独的函数中。