Wordpress菜单切换器

时间:2015-07-08 07:22:33

标签: php wordpress wordpress-plugin

我需要一个插件或者至少有一个关于如何使用HTML中的select在Wordpress中制作菜单切换器的想法。我有两个或更多菜单,当我选择一个选项时,我需要更改它。我google了很多,但我没有找到任何答案或插件。你们能帮我提一些建议吗?

更新

HTML:

<form action='' method='post'>
  <select name='menu_select' onchange="this.form.submit();">
    <option selected="true" disabled="disabled">Alege meniu</option>
    <option value='meniu_1'>Meniu 1</option>
    <option value='meniu_2'>Meniu 2</option>
    <option value='meniu_3'>Meniu 3</option>
  </select>
</form>

PHP条件之一:

if(isset($_POST['menu_select']) && $_POST['menu_select'] == 'meniu_1'){
				$_SESSION['menu_select'] = $_POST['menu_select'];
				wp_nav_menu( array( 'theme_location' => 'secondary_menu', 
									'container' => '',
									'menu_class' => 'menu',
									'walker' => new menu_walker()
									 ) );
			}

感谢。

2 个答案:

答案 0 :(得分:1)

你需要首先设置会话然后获取会话值。之后获取值,如果是其他条件。

第1步 首先设置会话如下:(将代码放在 function.php 中)

add_action('init', 'myStartSession', 1);
function myStartSession() {
    if(!session_id()) {
        session_start();
    }
}

第2步获取会话值(如果用户设置了第二个值,那么如果部分执行)

请注意,会话已设置

if(isset($_REQUEST['menu_select'])){
$get_val = $_REQUEST['menu_select'];
if($get_val =='meniu_1'){$_SESSION['menu']='meniu_1';}
elseif($get_val =='meniu_2'){$_SESSION['menu']='meniu_2';}
elseif($get_val =='meniu_3'){$_SESSION['menu']='meniu_3';}
else{$_SESSION['menu']='default';}
}
if($_SESSION['menu']=="meniu_1"){
//You compare value in condition
//MENU 1 CODE
}elseif($_SESSION['menu']=="meniu_2"){
//MENU 2 CODE
}elseif($_SESSION['menu']=="meniu_3")
{
//MENU 3 CODE
}else{

//MENU default CODE
}

答案 1 :(得分:0)

您可以使用onSelect选项发送get参数,根据此内容在header.php中获取此参数

显示菜单