source

woocommerce에서 가장 인기 있는 제품의 카테고리 목록을 얻는 방법

lovecheck 2023. 3. 13. 20:35
반응형

woocommerce에서 가장 인기 있는 제품의 카테고리 목록을 얻는 방법

어떻게 하면 리스트업 할 수 있나요?top 5 most popular category(또는 가장 인기 있는 제품 카테고리)에 있는wordpress를 참조해 주세요.사용한 적이 있다woocommerce플러그 인을 사용합니다.

제안이나 해결책에 대해 미리 감사드립니다.

어떤 대답도 저자의 질문에 대한 해답이 아니기 때문에, 제가 생각해낸 것은 다음과 같습니다.인기 상품을 카테고리별로 정리한 쇼트 코드 스니펫입니다.인기 상품이란 (총매출액과 같은) 가장 많이 팔리는 상품을 말합니다.

function bestselling_products_by_categories( $atts ){

    global $woocommerce_loop;

    extract(shortcode_atts(array(
        'cats' => '',   
        'tax' => 'product_cat', 
        'per_cat' => '5',   
        'columns' => '5',
        'include_children' => false,
        'title' => 'Popular Products',
        'link_text' => 'See all',
    ), $atts));

    if(empty($cats)){
        $terms = get_terms( 'product_cat', array('hide_empty' => true, 'fields' => 'ids'));
        $cats = implode(',', $terms);
    }

    $cats = explode(',', $cats);

    if( empty($cats) )
        return '';

    ob_start();

    foreach($cats as $cat){

        // get the product category
        $term = get_term( $cat, $tax);

        // setup query
        $args = array(
            'post_type'             => 'product',
            'post_status'           => 'publish',
            'ignore_sticky_posts'   => 1,
            'posts_per_page'        => $per_cat,            
            'meta_key'              => 'total_sales',
            'orderby'               => 'meta_value_num',
            'tax_query' => array(               
                array(
                    'taxonomy' => $tax,
                    'field' => 'id',
                    'terms' => $cat,
                    'include_children' => $include_children,
                )
            ),
            'meta_query'            => array(
                array(
                    'key'       => '_visibility',
                    'value'     => array( 'catalog', 'visible' ),
                    'compare'   => 'IN'
                )
            )
        );

        // set woocommerce columns
        $woocommerce_loop['columns'] = $columns;

        // query database
        $products = new WP_Query( $args );

        $woocommerce_loop['columns'] = $columns;

        if ( $products->have_posts() ) : ?>

            <?php if ( shortcode_exists('title') ) : ?>
                <?php echo do_shortcode('[title text="'. $title .'" link="' . get_term_link( $cat, 'product_cat' ) . '" link_text="' . $link_text . '"]'); ?>
            <?php else : ?>
                <?php echo '<h2>'. $title .'</h2>'; ?>
            <?php endif; ?>

            <?php woocommerce_product_loop_start(); ?>

                <?php while ( $products->have_posts() ) : $products->the_post(); ?>

                    <?php woocommerce_get_template_part( 'content', 'product' ); ?>

                <?php endwhile; // end of the loop. ?>

            <?php woocommerce_product_loop_end(); ?>

        <?php endif;

        wp_reset_postdata();
    }

    return '<div class="woocommerce columns-' . $columns . '">' . ob_get_clean() . '</div>';

} add_shortcode( 'custom_bestselling_product_by_categories', 'bestselling_products_by_categories' );

다음과 같이 호출하여 사용할 수 있습니다.

<?php echo do_shortcode('[custom_bestselling_product_by_categories cats="' . $term->term_id . '"]'); ?>

이 쇼트 코드에는 몇 가지 옵션이 있습니다.

cats: 제품을 검색할 카테고리 ID 또는 쉼표로 구분된 ID.

tax: 제품을 가져올 분류법. 기본값은 입니다.product_cat

per_cat: 검색할 제품 수

columns: 표시할 열 수

include_children: 카테고리의 직계자녀만 false로 표시되는 경우 true이면 children이 표시됩니다.

title: 표시할 제목

link_text: 스토어에 링크된 링크 텍스트

이 스니펫에서는 다음과 같은 이름의 쇼트코드가 있는 것을 전제로 하고 있습니다.title그 밖에도 몇 가지 파라미터가 필요합니다.link그리고.link_text논쟁들.테마에 따라 언제든지 변경할 수 있습니다.

도움이 됐으면 좋겠다.

이 페이지를 체크하는 것을 추천합니다.

http://docs.woothemes.com/document/woocommerce-shortcodes/

array(
     'per_page' => '12',
      'columns' => '4',
      'orderby' => 'title',
      'order' => 'asc',
      'category' => ''
 )
[product_category category="appliances"]


array(
     'per_page' => '12',
     'columns' => '4',
     'orderby' => 'title',
     'order' => 'asc'
 )

[top_rated_products per_page="12"]

또는 다음 플러그인을 사용할 수 있습니다.https://wordpress.org/plugins/sp-woocommerce-best-selling-products-by-category/

대부분의 경우, 가장 많이 보고, 가장 많이 팔리는 것처럼 인기가 있을 수 있습니다.그래서 나는 상품을 판매량별로 나열했다.이렇게 하면 가장 많이 팔리는 제품을 얻을 수 있고 이를 통해 카테고리 목록을 얻을 수 있습니다.

$query_args = array(
        'post_type' => 'product',
        'post_status' => 'publish',
        'ignore_sticky_posts' => 1,
        'posts_per_page' => '10',
        'columns' => '4',
        'fields' => 'ids',
        'meta_key' => 'total_sales',
        'orderby' => 'meta_value_num',
        'meta_query' => WC()->query->get_meta_query()
    );

    $best_sell_products_query = query_posts($query_args);
    return $best_sell_products_query;

언급URL : https://stackoverflow.com/questions/25201690/how-to-get-category-listing-of-most-popular-products-in-woocommerce

반응형