it-swarm-ja.com

カテゴリー別におすすめ商品を表示する

私はこのような注目の製品評価製品を表示するために私のテーマのショートコードにこのコードを持っています。しかし、私はカテゴリ別に製品を表示する必要があります。どのコードを追加する必要がありますか。助言がありますか?

if($type == 'featured'){

        /**********QUERY FOR FEATURED PRODUCT**********/

        $query_args = array('posts_per_page' => $number, 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product' );



        $query_args['meta_query'] = array();



        $query_args['meta_query'][] = array(

            'key' => '_featured',

            'value' => 'yes'

        );

        $query_args['meta_query'][] = $woocommerce->query->stock_status_meta_query();

        $query_args['meta_query'][] = $woocommerce->query->visibility_meta_query();

        /**********END QUERY FOR FEATURED PRODUCT**********/

    }elseif($type == 'top-rated'){

        /**********QUERY FOR TOP-RATED PRODUCT**********/

        add_filter( 'posts_clauses',  array( $woocommerce->query, 'order_by_rating_post_clauses' ) );



        $query_args = array('posts_per_page' => $number, 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product' );



        $query_args['meta_query'] = array();



        $query_args['meta_query'][] = $woocommerce->query->stock_status_meta_query();

        $query_args['meta_query'][] = $woocommerce->query->visibility_meta_query();

        /**********END QUERY FOR TOP-RATED PRODUCT**********/
1
atul

まず、それらの商品をどのカテゴリから表示するかを決定する必要があります。これが単一の投稿表示で行われる場合、 wp_get_object_terms関数 を使用してすべての投稿のカテゴリを取得できます。

global $post;
$query_args[ 'category__in' ] = wp_get_object_terms( $post->ID, 'category', array( 'fields' => 'ids' ) );

これがアーカイブページで発生した場合は、クエリvarsからカテゴリIDを取得できます。

$query_args[ 'cat' ] = get_query_var('cat');

詳細については http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters を確認してください。

1
david.binda