admin管理员组文章数量:1388912
I'm tring to build an advanced search form for woocommerce based web site.
Found this answer () and added all codes. But it doesn't work.
functions.php
// advanced search functionality
function advanced_search_query($query) {
if($query->is_search()) {
// category terms search.
if (isset($_GET['product_cat']) && !empty($_GET['product_cat'])) {
$query->set('tax_query', array(array(
'taxonomy' => 'product_cat',
'terms' => array($_GET['product_cat']) )
));
}
return $query;
}
}
add_action('pre_get_posts', 'advanced_search_query', 1000);
search form;
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<div class="form-group">
<div class="search-form">
<label class="screen-reader-text" for="woocommerce-product-search-field"><?php _e( 'Search for:', 'woocommerce' ); ?></label>
<input type="search" id="woocommerce-product-search-field" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Products…', 'placeholder', 'woocommerce' ); ?>" value="<?php echo get_search_query(); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label', 'woocommerce' ); ?>" />
</div>
<?php wp_dropdown_categories( 'name=product_cat&hierarchical=1&taxonomy=product_cat&class=category-select&show_option_all=Tüm Kategoriler' ); ?>
<div class="search-submit">
<input type="submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'woocommerce' ); ?>" />
</div>
</div>
<input type="hidden" name="post_type" value="product" />
</form>
I'm tring to build an advanced search form for woocommerce based web site.
Found this answer (https://wordpress.stackexchange/a/184186/51376) and added all codes. But it doesn't work.
functions.php
// advanced search functionality
function advanced_search_query($query) {
if($query->is_search()) {
// category terms search.
if (isset($_GET['product_cat']) && !empty($_GET['product_cat'])) {
$query->set('tax_query', array(array(
'taxonomy' => 'product_cat',
'terms' => array($_GET['product_cat']) )
));
}
return $query;
}
}
add_action('pre_get_posts', 'advanced_search_query', 1000);
search form;
<form role="search" method="get" class="woocommerce-product-search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<div class="form-group">
<div class="search-form">
<label class="screen-reader-text" for="woocommerce-product-search-field"><?php _e( 'Search for:', 'woocommerce' ); ?></label>
<input type="search" id="woocommerce-product-search-field" class="search-field" placeholder="<?php echo esc_attr_x( 'Search Products…', 'placeholder', 'woocommerce' ); ?>" value="<?php echo get_search_query(); ?>" name="s" title="<?php echo esc_attr_x( 'Search for:', 'label', 'woocommerce' ); ?>" />
</div>
<?php wp_dropdown_categories( 'name=product_cat&hierarchical=1&taxonomy=product_cat&class=category-select&show_option_all=Tüm Kategoriler' ); ?>
<div class="search-submit">
<input type="submit" value="<?php echo esc_attr_x( 'Search', 'submit button', 'woocommerce' ); ?>" />
</div>
</div>
<input type="hidden" name="post_type" value="product" />
</form>
Share
Improve this question
edited Apr 13, 2017 at 12:37
CommunityBot
1
asked Aug 2, 2016 at 11:53
sakaryasakarya
2224 silver badges13 bronze badges
1 Answer
Reset to default 1You can try below code. Below code shows search box and woocommerce product categories . It will also show selected category.
<form name="myform" method="GET" action="<?php echo esc_url(home_url('/')); ?>">
<?php if (class_exists('WooCommerce')) : ?>
<?php
if(isset($_REQUEST['product_cat']) && !empty($_REQUEST['product_cat']))
{
$optsetlect=$_REQUEST['product_cat'];
}
else{
$optsetlect=0;
}
$args = array(
'show_option_all' => esc_html__( 'All Categories', 'woocommerce' ),
'hierarchical' => 1,
'class' => 'cat',
'echo' => 1,
'value_field' => 'slug',
'selected' => $optsetlect
);
$args['taxonomy'] = 'product_cat';
$args['name'] = 'product_cat';
$args['class'] = 'cate-dropdown hidden-xs';
wp_dropdown_categories($args);
?>
<input type="hidden" value="product" name="post_type">
<?php endif; ?>
<input type="text" name="s" class="searchbox" maxlength="128" value="<?php echo get_search_query(); ?>" placeholder="<?php esc_attr_e('Search entire store here...', 'woocommerce'); ?>">
<button type="submit" title="<?php esc_attr_e('Search', 'woocommerce'); ?>" class="search-btn-bg"><span><?php esc_attr_e('Search','woocommerce');?></span></button>
</form>
本文标签: categoriesWoocommerce search form with category select
版权声明:本文标题:categories - Woocommerce search form with category select 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744542851a2611718.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论