首页 > 解决方案 > 如何在 Woocommerce 中按属性和供应商地址进行搜索

问题描述

我正在编写一个代码,以便从我之前设置的产品属性中自动获取产品属性的搜索列表。但结果我得到了一个满是空字段的下拉列表。

而且,在第二个搜索字段中,我希望能够搜索商店位置(例如 query=Boston),从 WC Vendors 中的商店地址 ID 获取它(我想到了#wcfmmp-store)。但这结果一无所获。

按产品属性搜索:

<form action="<?php echo site_url( '/' ); ?>" class="search2">
 <input type="hidden" name="s" value=""/>
 <input type="hidden" name="post_type" value="product"/>
 <img src="<?php echo get_template_directory_uri(); ?>/img/box_holder.png">

 <div class="search_box">
 <h3 class="search_title">Search by attribute</h3>
 <select class="selectBox" name="pa_color">
 [get_filter_options]( 'Color', 'pa_color' ); [/get_filter_options]
 </select> 
 <button class="search-button" type="submit">Search</button>
 </div>
 </form>

它的作用:

function get_filter_options( $title, $taxonomy ) {

global $wp_query;

$options = '' . $title . '';
$data = get_terms( $taxonomy );

foreach ( $data as $term ) {

$selected = isset( $wp_query->query_vars[$taxonomy] ) && $wp_query->query_vars[$taxonomy] == $term->term_id ? ' selected="selected"' : '';
$options .= '<option value="' . $term->term_id . '"' . $selected . '>' . $term->name . '</option>';
  }
 return $options;
}

    /*SHORTCODE*/

 function sm_setup( $atts ) {
        add_shortcode( 'get_filter_options', 'get_filter_options' );
 }
 add_action( 'init', 'sm_setup' );

问题 2 - 供应商按地址搜索:

<form role="search" method="get" class="woocommerce-product-search" action="http://www.test.org/store/">
<label class="screen-reader-text" for="wcfmmp-store">Search:</label>
<input type="search" id="wcfmmp-store" name="wcfmmp-store" class="search-field" placeholder="Search" value="">
<button type="submit" value="Search">Search</button>
    </form>

非常感谢您的意见,谢谢。

标签: phphtmlfunctionwoocommerceattributes

解决方案


推荐阅读