woocommerce カスタム検索フォームの作成方法をお聞きしたいです。
私の検索およびフィルター フォームには 3 つのフィールドがあります。
カテゴリ:<select>
次のタグを使用して、woocommerce 製品カテゴリをカスタム検索 HTML フォームに取り込むことができました。
<?php
$catTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'exclude' => '17,77'));
foreach($catTerms as $catTerm) : ?>
<option value="<?php echo $catTerm->slug; ?>"><?php echo $catTerm->name; ?></option>
<?php endforeach; ?>
フィルター条件: (ドロップダウン メニュー) 作成者別:
woo_add_custom_general_fields_save()
テーマのfunctions.php,
作品の機能を適切に使用して、woocommerceに追加のフィールドを追加しました。
注: これは通常、wordpress でメタデータを追加するために使用する「カスタム フィールド」ではありませんが、以下のコードは、商品データ > 一般 (woocommerce) にフィールドを追加するためのものです。
function woo_add_custom_general_fields_save($post_id)
{
$woocommerce_textinput = $_POST['_book_author'];
if( !empty( $woocommerce_textinput ) )
update_post_meta( $post_id, '_book_author', esc_html( $woocommerce_textinput ) );
}
タイトル別:
を使用してこのフィルターを使用することができましたhttp://www.example.com/wp-root/woocommerce-product-page/?s=searchproducttitle
入力テキスト フィールド:
これは、ユーザーがキーワードで検索するためのものです。
したがって、これは私の完全なカスタム html 検索フォームです。
<form action="<?php echo site_url(); ?>/pm-bookstore/" method="GET">
<select name="">
<?php $catTerms = get_terms('product_cat', array('hide_empty' => 0, 'orderby' => 'ASC', 'exclude' => '17,77')); ?>
<?php foreach($catTerms as $catTerm) : ?>
<option value="<?php echo $catTerm->slug; ?>"><?php echo $catTerm->name; ?></option>
<?php endforeach; ?>
</select>
<select name="">
<option value="">By author</option>
<option value="">By title</option>
</select>
<input type="text" placeholder="Search Book by Title, Author, ISBN..." name="s">
<button class="fa fa-search" type="submit"></button>
</form>
検索パラメーターについては、それらすべてをプルできると期待しています。しかし、私は ?s パラメーターしか使用できません (これは製品タイトルのみです)。
product_cat
、 、などの別のパラメーターを使用してみtag_ID
ましたが、成功しませんでした。
現時点では、私は使用することしかできません
http://www.example.com/wp-root/woocommerce-product-page/?s=searchproducttitle
私の期待される結果は次のとおりです。
また
http://www.example.com/wp-root/woocommerce-product-page/?s=searchproducttitle&category=categoryslug
この検索パラメーターを woocommerce 検索で機能させるにはどうすればよいですか?
ありがとうございました。