2016-08-05 108 views
0

Ich füge ein Suchfeld und die Schaltfläche "E-Mail-Liste beitreten" oben im Wordpress-Hauptmenü an. Das Suchfeld erscheint wie erwartet, aber die E-Mail-Schaltfläche erscheint innerhalb des UL-Menüs des Menüs, was ich im gesamten Menü mit Positionierung kompensieren kann, aber es verbirgt die Schaltfläche vollständig, wenn das Responsive Mobile-Menü erscheint. Ich bin mir nicht sicher, wie ich es richtig aus dem UL herausholen kann.Ändern der Position von WordPress-Menüelementen mit wp_nav_menu_items

Ich fand, dass wenn Sie die E-Mail-Taste als eine externe Datei benötigen, wird es außerhalb der UL angezeigt - aber das verursacht auch eine "1" vor dem Hauptmenü in der NON-Mobile-Version angezeigt. Puzzling ...

Hier ist mein Code, mit der sowohl die String-Methode und Require-Methode angezeigt (auskommentiert).

add_filter('wp_nav_menu_items','add_search_box_to_menu', 10, 2); 
function add_search_box_to_menu($items, $args) { 
    if($args->theme_location == 'main-nav-menu') { 
     $search_form = get_search_form(); 
//  $email_button = require_once('emailbutton.php'); 
     $email_button = '<button id="btn_emaillist">Join Our Email List</button>'; 
     $items = $search_form . $email_button . $items; 
    } 
    return $items; 
} 

Sie können diese bei http://example.wdev05.com/ sehen. Wie kann ich den Button außerhalb des ULs erscheinen lassen, so dass er in beiden Desktops & ohne merkwürdige Nebenwirkungen sichtbar ist?

+0

Eigentlich mit der require_once Methode einzufügen, es erscheint nur in dem mobilen Layout in Chrome - nicht in Firefox, Safari oder Edge ... – supernaut

Antwort

0

wp_nav_menu_items wird Inhalt in UL hinzufügen.

Verwendung wp_nav_menu Filter Inhalte außerhalb ul

function _wp_nav_m_filter($nav, $args) { 
    if($args->theme_location == 'main-nav-menu') { 
     $search_form = get_search_form(false); // do not echo the form 
     $search_form .= '<button id="btn_emaillist">Join Our Email List</button>'; 
     return $search_form . $nav; 
    } 
    return $nav; 
} 
add_filter('wp_nav_menu', '_wp_nav_m_filter', 10, 2); 

Kasse https://core.trac.wordpress.org/browser/tags/4.5/src/wp-includes/nav-menu-template.php#L451

+0

Ausgezeichnet ... jetzt weiß ich. Vielen Dank! – supernaut