Moin,
ich probiere schon seit Stunden herum und komme nicht weiter, ich hoffe hier kann mir jemand weiterhelfen.
Ich habe in meinem Theme ein weiteres Menü manuell hinzugefügt, da ursprünglich nur eins vorhanden war. Soweit funktioniert alles, jedoch kann ich mit diesem Menü nicht mobil navigieren. Ich kann die Punkte auswählen, aber es wird nicht weitergeleitet.
Ich habe das Menü wie folgt registriert:
In der header.php habe ich ein weiteres Menü, analog zum ersten, wie folgt hinzugefügt:
PHP
// Hauptmenü
<nav id="menu" class="clearfix">
<?php
if ( has_nav_menu( 'primary' ) ) {
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'primary' ) );
wp_nav_menu( array(
'show_description' => false,
'menu' => 'primary',
'items_wrap' => '<select id="drop-nav"><option value="">' . __( '=> Navigation', 'themeboy' ) . '</option>%3$s</select>',
'container' => false,
'walker' => new Walker_Nav_Menu_Dropdown(),
'theme_location' => 'primary') );
}
?>
<?php
if ( get_option( 'tb_show_search_bar' ) ):
get_search_form();
endif;
?>
</nav>
// neues Menü
<nav id="menu2" class="clearfix"> // Menü 2 für die CSS Klassen
<?php
if ( is_page('') ) { // Aufruf soll nur auf Seiten erfolgen
wp_nav_menu( array( 'container_class' => 'menu-header', 'theme_location' => 'secondary' ) );
wp_nav_menu( array(
'show_description' => false,
'menu' => 'secondary',
'items_wrap' => '<select id="drop-nav2"><option value="">' . __( '=> Mannschaft', 'themeboy' ) . '</option>%3$s</select>',
'container' => false,
'walker' => new Walker_Nav_Menu_Dropdown(),
'theme_location' => 'secondary') );
}
?>
</nav>
Alles anzeigen
Die Umschaltung erfolgt in der footer.php:
PHP
<script type="text/javascript">
(function($) {
// drop nav
$('#drop-nav').change(function() {
window.location = $(this).val();
});
// weitere scripte
//Walker Dropdown Menü (bei mir in der helpers.php)
PHP
class Walker_Nav_Menu_Dropdown extends Walker_Nav_Menu{
function start_lvl(&$output, $depth){
$indent = str_repeat("\t", $depth); // don't output children opening tag (`<ul>`)
}
function end_lvl(&$output, $depth){
$indent = str_repeat("\t", $depth); // don't output children closing tag
}
function start_el(&$output, $item, $depth, $args){
// add spacing to the title based on the depth
$item->title = str_repeat(" ", $depth * 4).$item->title;
$output .= $indent . ' id="menu-item-'. $item->ID . '"' . $value . $class_names .'>';
$attributes = ! empty( $item->attr_title ) ? ' title="' . esc_attr( $item->attr_title ) .'"' : '';
$attributes .= ! empty( $item->target ) ? ' target="' . esc_attr( $item->target ) .'"' : '';
$attributes .= ! empty( $item->xfn ) ? ' rel="' . esc_attr( $item->xfn ) .'"' : '';
$attributes .= ! empty( $item->url ) ? ' value="' . esc_attr( $item->url ) .'"' : '';
$item_output .= '<option'. $attributes .'>';
$item_output .= $args->link_before .apply_filters( 'the_title', $item->title, $item->ID );
$item_output .= '</option>';
$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );
// no point redefining this method too, we just replace the li tag...
$output = str_replace('<li', '<option', $output);
}
function end_el(&$output, $item, $depth){
$output .= "</option>\n"; // replace closing </li> with the option tag
}
}
Alles anzeigen
So, jetzt seid ihr dran. Menü funktoniert soweit, jedoch nicht responsive (auch nicht auf dem PC).
Ich bin über jede Hilfe dankbar!!
Danke.