我正在尝试修改产品搜索表单以包含 3 个“选择字段”而不是默认文本框。根据选择的选项(这些选项是从我添加到每个产品的自定义属性中填充的),搜索应该返回给我相关的产品。以下是我放置在 mystile 主题文件夹中以覆盖默认搜索的“product-searchform.php”代码。我得到所有的帖子(产品)而不是具体的。所以在某个地方我的搜索不正确。get_search_query() 函数的代码在哪里?
<form role="search" method="get" id="searchform" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<div>
<!-- Default Markup
<label class="screen-reader-text" for="s"><?php _e( 'Search for:', 'woocommerce' ); ?></label>
<input type="text" value="<?php echo get_search_query(); ?>" name="s" id="s" placeholder="<?php _e( 'Search for products', 'woocommerce' ); ?>" />
<input type="submit" id="searchsubmit" value="<?php echo esc_attr__( 'Search' ); ?>" />
<input type="hidden" name="post_type" value="product" />
*/-->
<?php
$terms = get_terms("pa_country");
$count = count($terms);
if($count > 0){
echo '<select class="select" id="destination" tabindex="11" name="destination">';
echo '<option value="Destination">--Destination--</option>';
foreach($terms as $term ){
echo '<option value="' . $term->name . '">' . $term->name . '</option>';
}
echo '</select>';
}
$terms = get_terms("pa_days");
$count = count($terms);
if($count > 0){
echo '<select class="select" id="days" tabindex="11" name="days">';
echo '<option value="Days">--Days--</option>';
foreach($terms as $term ){
echo '<option value="' . $term->name . '">' . $term->name . '</option>';
}
echo '</select>';
}
$terms = get_terms("pa_budget");
$count = count($terms);
if($count > 0){
echo '<select class="select" id="budget" tabindex="11" name="budget">';
echo '<option value="Budget">--Budget--</option>';
foreach($terms as $term ){
echo '<option value="' . $term->name . '">' . $term->name . '</option>';
}
echo '</select>';
}
?>
<input type="submit" id="searchsubmit" value="<?php echo esc_attr__( 'Search' ); ?>" />
<input type="hidden" name="post_type" value="product" />
</div>