我安装了Wordpress,并在每个类别页边栏上都有此表单:
<form name="tags" onChange="document.forms.tags.submit();">
<input type="checkbox" name="tag" value="tag1" <?php if((isset($_GET["tag"])) && $_GET["tag"] == "tag1") { echo "checked";}?>>tag1<br>
<input type="checkbox" name="tag" value="tag2" <?php if((isset($_GET["tag"])) && $_GET["tag"] == "tag2") { echo "checked";}?>>tag2
</form>
目标是创建一个像/?tag = tag1 + tag2等的URL。 使用上面的代码我得到这样的URL:/?tag = tag1&amp; tag = tag2。
我已经搜索了两个星期并尝试了很多,但对我来说没有任何作用。我试过了
<input type="checkbox" name="tag[]" value="tag1" <?php if((isset($_GET["tag"])) && $_GET["tag"] == "tag1") { echo "checked";}?>>tag1
然后我得到?tag%5B%5D=tag1
而Wordpress没有找到任何结果。
每次选中复选框时,表单都会提交。
如果我使用无线电输入字段,那么效果很好,因为每次都有一个值,但是我想传递多个具有相同名称的值并渲染一个像/?tag = tag1 + tag2的网址+ tag3 + tag4等。
任何人都可以帮我解决这个问题,因为我不知道如何为我做这项工作。谢谢!
答案 0 :(得分:0)
这就是你想要的:
// This would output '/client/?s=word&foo=bar'
echo add_query_arg( 'foo', 'bar' );
查看add_query_arg()和get_query_var()
考虑这个例子http://codepad.org/s08Jmseg
$url_string = $_SERVER['QUERY_STRING'];
// reuturn: tag=tag1+tag2+tag3
parse_str($url_string);
// $tag holds the value tag1+tag2+tag3
$string = urldecode( $tag );
$arr = explode(" ", $string);
$my_tag = "tag2";
if( in_array( $my_tag, $arr ) ) {
// $key
echo $my_tag . ' found!';
}
else {
echo "Tag Not Found!";
}
//print_r($arr);