我需要一个插件或者至少有一个关于如何使用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()
) );
}
感谢。
答案 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
中获取此参数
显示菜单