2015-08-25 5 views
2

Я хочу, чтобы добавить пользовательское меню моего основному меню, я использовал это ниже код для этого,Как добавить пользовательское меню в определенную позицию в Wordpress

add_filter('wp_nav_menu_items', 'search_menu_item', 10, 2); 
function search_menu_item ($items, $args) { 
if ($args->theme_location == 'secondary-menu') { 
$items .= '<li class="border-none">SEARCH<form><input type="text" name="s" placeholder="Search Here" class="search-box"></form>'; 
} 
return $items; 
} 

и меню появляется в последнем меню, но Я хочу добавить свое меню в третью позицию. Как это сделать?

Может ли кто-нибудь помочь?

Благодаря

ответ

6

Вы должны скорее использовать wp_nav_menu_objects фильтр вместо, который позволяет изменять массив элементов вместо строки.

Пример:

add_filter('wp_nav_menu_objects', 'restructure_menu_links', 10, 2); 

function restructure_menu_links($items, $args) { 

    $new_links = array(); 

    $label = 'Lorem Ipsum'; // add your custom menu item content here 

    // Create a nav_menu_item object 
    $item = array(
     'title'   => $label, 
     'menu_item_parent' => 0, 
     'ID'    => 'yourItemID', 
     'db_id'   => '', 
     'url'    => $link, 
     'classes'   => array('menu-item') 
    ); 

    $new_links[] = (object) $item; // Add the new menu item to our array 

    // insert item 
    $location = 3; // insert at 3rd place 
    array_splice($items, $location, 0, $new_links); 

    return $items; 
} 
+0

Спасибо за ответ, Теперь я могу добавить мое меню моего желания места, но, как я добавляю свою форму поиска в нем. – Mayank

+0

@Mayank 'get_search_form' эта функция предоставит вам форму – Musk

+0

@Musk get_search_form добавит форму поиска в меню, но я хочу, поиск текста в виде пункта меню и когда пользователь нажимает на него, а форма поиска переключается справа налево. означает, что я хочу, чтобы наш пункт меню поиска был таким, как это

  • ПОИСК
  • Mayank

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