2016-08-22 3 views
0

Используя следующую форму jQuery, я могу динамически центрировать логотип в середине меню Wordpress, но когда я добавляю подменю в главный навигатор, логотип исчезает. Как мне переписать это для скидок на любые подменю?WP добавить логотип в центр меню whist игнорируя подменю?

JQuery:

var position = $("ul#main_nav li").length-2; 
         var i = 0; 
         $('ul#main_nav li').each(function() { 
          if(i == position/2) { 
          $(this).after('<img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="Logo" class="logo-img">'); 
          } 
          i++; 
         }); 

HTML:

<ul id="#main_nav"> 
    <li>ITEM1</li> 
    <li>ITEM2 
     <ul class="sub-menu"> 
      <li>SUB-ITEM1</li> 
      <li>SUB-ITEM2</li> 
      <li>SUB-ITEM3</li> 
     </ul> 
    </li> 
    <li>ITEM3</li> 
    <li>ITEM4</li> 
    <li>ITEM5</li> 
    <li>ITEM6</li> 
</ul> 

ответ

0
var position = $("ul#main_nav > li").length-2; 
        var i = 0; 
        $('ul#main_nav li').each(function() { 
         if(i == position/2) { 
         $(this).after('<img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="Logo" class="logo-img">'); 
         } 
         i++; 
        }); 
    /* Try this */ 
+0

Это добавило логотип обратно в список, но его появление на полпути вниз подменю? – bigdave

0

Если по какой-то шанс кто-то попадается этот вопрос, вот исправление ..

var position = $("ul#main_nav li.menu-item-object-page").length-2; 
var i = 0; 
    $('ul#main_nav li.menu-item-object-page).each(function() { 
     if(i == position/2) { 
     $(this).after('<img src="<?php echo get_template_directory_uri(); ?>/img/logo.png" alt="Logo" class="logo-img">'); 
    } 
i++; 
}); 

Wordpress дает Элементы списка верхнего уровня на уровне класса .menu-item-object-page, но не применяет это к элементам подменю, поэтому, будучи немного более конкретным, о том, какие элементы таргетинга у меня есть, я получил результат, который я хотел.

Смежные вопросы