webForumDet fria alternativet

Wordpressmeny i en drop-down?

1 svar · 611 visningar · startad av xtreme

xtremeMedlem sedan juli 20002 056 inlägg
#1

Jag har följande kod i Wordpress som genererar en horisontell meny

   <? php wp_nav_menu (array ('theme_location' => 'header-menu'));?>
Eftersom sidan ska vara mobilvänlig vill jag att menyn ska vara i form av en drop-down i stället.

Har provat lite olika varianter men får det inte att fungera. Problemet är vad jag ska ska ha i option value="".
    <select name="blog-dropdown" onChange='document.location.href=this.options[this.selectedIndex].value;'>
        		<option value="<?php bloginfo('home') ?>">Hem</option>
						<option value="" <?php wp_nav_menu( array( 'theme_location' => 'header-menu' ) ); ?></option>  /* Den här är problemet */
    </select>
Jag får fram länknamnet i listan men inget händer när jag väljer det.
Nate.AMedlem sedan mars 2006296 inlägg
#2

Hej!

Jag tror man gör det bäst med en "Custom Walker" class.

ex.
selectmenu_walker.class.php

class selectmenu_walker extends Walker
{
   /**
     * @see Walker::$tree_type
     * @var string
     */
    var $tree_type = array( 'post_type', 'taxonomy', 'custom' );

    /**
     * @see Walker::$db_fields
     * @var array
     */
    var $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );

	function start_el(&$output, $item, $depth, $args)
	{
		
		$classes = empty( $item->classes ) ? array() : (array) $item->classes;
		$selected = in_array('current-menu-item', $classes) ? "selected" : "";
		$indent = ( $depth ) ? str_repeat( "-", $depth ) : '';

		$output .=  '<option ' . $selected . ' value="' .  esc_attr( $item->url ) . '">' . $indent . esc_attr( $item->title ) .'</option>';

	}
}

I din template fil

			include('din_sokvag/selectmenu_walker.class.php');
			wp_nav_menu( array( 
			    'container' => 'none', 
			    'theme_location' => 'primary',
			    'walker'=> new selectmenu_walker,
			    'items_wrap' => '<select id="selectnav-%1$s" class="%2$s">%3$s</select>' ) );
128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)