2016-07-02 7 views
4

私はWoocommerce製品用のカスタムループページを作成しようとしています。プロセスはarchive-product.phpファイルから開始し、ページを描画するためのテンプレートスニペットが含まれています。Woocommerceのアーカイブページで製品ループパラメータを変更するにはどうすればよいですか?

しかし、質問するパラメータを変更したいので、いくつかの製品カテゴリに参加したり、ループからいくつかのカテゴリやカテゴリを除外したりします(Wordpressプロジェクトのcategory.phpと同じように)。

どうすればいいですか?スクリプトのこの部分はどこで見つけることができますか?

ありがとうございます!

答えて

3

Woocommerceは、単に、例えばワードプレスのグローバル$wp_queryに依存している、あなたが任意のクエリを変更するpre_get_postsアクションフックを使用することができ、

function _additional_woo_query($query) { 
    if (is_product_category()) { 
     $query->set('cat', '123'); 
    } 
} 
add_action('pre_get_posts', '_additional_woo_query'); 

チェックアウトwoocommerce conditional tag

0

次のコードを試してみてください。
テーマのfunctions.phpに貼り付けます。
$ product_category_idをあなたの値に置き換えてください。

function _new_updated_query($query) { 
if (is_product_category() && $query->is_main_query()) { 
    $query->set('tax_query', array (
     array(
      'taxonomy' => 'product_cat', 
      'field' => 'term_id', 
      'terms' => absint($product_category_id), 
     ) 
    )); 
} 
} 
add_action('pre_get_posts', '_new_updated_query'); 
関連する問題