如何使用wp_nav_menu_args在菜单项顺序中将特定菜单项显示为第二个位置?

时间:2015-07-24 11:47:41

标签: wordpress

我使用下面的代码在导航菜单中添加菜单项

'add_filter( 'wp_nav_menu_items', 'add_users_link', 10, 2 );
 function add_users_link( $items, $args ) {
      if (is_user_logged_in() && $args->theme_location == 'primary') {
       $items .= '<li><a href="'. site_url('/users') .'">Cadastro</a></li>';
     }
     elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
        $items .= '<li><a href="'. site_url('wp-login.php') .'">Log In</a></li>';
      }
   return $items;
 }

我需要在上面的代码中将上面的项目显示到第二个位置。 我使用了sort_column和menu_order,但它无法正常工作

任何人都有帮助。提前谢谢

1 个答案:

答案 0 :(得分:0)

我认为有三种方法可以做到:

使用PHP

您可以在两个不同的菜单中拆分菜单:

<?php
$args1 = array( 'menu' => 'header_menu_1' );
$args2 = array( 'menu' => 'header_menu_2' );
wp_nav_menu($args1);
?>

Your custom content here

<?php
wp_nav_menu($args2);
?>

使用jQuery

$(document).ready(function() {
    $('ul li').eq(2).after('Your html content here');
});

使用Css

您可以使用css和display:flex属性更改项目的顺序 See Flex order documentation here