我正在构建一个搜索页面,以对自定义帖子类型及其关联的元和分类进行查询。最后,我将查询多个分类法,并将值与meta中的值进行比较(即,在X和Y之间用foo查找帖子)。
我对查询功能有很好的理解,这要感谢Otto 和Scribu. 问题是我正在努力找出如何通过表单传递变量。我的第一次尝试是尝试中推荐的方法this post, 但我不会返回任何结果(地址栏显示:http://sitename.com/?brand=22
. 这是我的第一次尝试(“品牌”是我的分类名称之一):
<form action="<?php echo home_url(\'/\'); ?>" method="get">
<p><?php wp_dropdown_categories(\'taxonomy=brand&name=brand\'); ?></p>
<p><input type="submit" value="Search!" /></p>
</form>
像这样一个简单的HTML表单就足够了吗?或者我应该在我的函数中构建一个函数。php文件?我的第二次尝试是合并一个函数:
<?php
function get_terms_dropdown($taxonomies, $args){
$myterms = get_terms($taxonomies, $args);
$output =\'<select multiple="yes" size="3" name="\'.$taxonomies.\'">\';
foreach($myterms as $term){
$root_url = get_bloginfo(\'url\');
$term_taxonomy=$term->taxonomy;
$term_slug=$term->slug;
$term_name =$term->name;
#$link = $root_url.\'/\'.$term_taxonomy.\'/\'.$term_slug;
#$link = $term_taxonomy;
$output .="<option value=\'".$term_name."\'>".$term_name."</option>";
}
$output .="</select>";
return $output;
}
$args = array(\'orderby\'=>\'count\',\'hide_empty\'=>true);
?>
<form role="search" method="get" id="searchform" action="<?php bloginfo(\'home\'); ?>">
<?php echo get_terms_dropdown(array(\'brand\'), $args); ?>
<input type="submit" id="searchsubmit" value="Search" />
</form>
但同样,我无法提交表单/生成结果。我走对了吗?欢迎提出任何建议。