So erhalten Sie eine Kategorieliste der beliebtesten Produkte in WooCommerce

Lesezeit: 4 Minuten

Wie kann ich die auflisten top 5 most popular category(oder Kategorie der beliebtesten Produkte) auf my wordpress Homepage der Website. Ich habe benutzt woocommerce Plugin für Produkte.

Vielen Dank im Voraus für jeden Vorschlag oder Lösung.

Benutzer-Avatar
Caio Mar

Da keine der Antworten eine Lösung für die Frage des Autors ist, habe ich mir Folgendes ausgedacht. Dies ist ein Shortcode-Snippet, das beliebte Produkte nach Kategorien auflistet. Mit beliebt meine ich die meisten verkauften Produkte (wie Gesamtverkäufe).

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' );

Sie können dies verwenden, indem Sie es wie folgt aufrufen:

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

Dieser Shortcode hat einige Optionen:

cats : die Kategorie-ID oder durch Kommas getrennte IDs, aus denen die Produkte abgerufen werden sollen.

tax : die Taxonomie, aus der die Produkte abgerufen werden, Standard ist product_cat

per_cat : Anzahl der abzurufenden Produkte

columns : Anzahl der anzuzeigenden Spalten

include_children : wenn falsch, werden nur direkte Kinder der Kategorie angezeigt, wenn wahr, dann werden Kinder von Kindern angezeigt

title : anzuzeigender Titel

link_text : der mit dem Shop verknüpfte Linktext

Beachten Sie, dass dieses Snippet davon ausgeht, dass Sie einen Shortcode mit dem Namen haben title und es dauert ein paar andere Parameter wie z link und link_text Argumente. Sie können dies jederzeit entsprechend Ihrem Thema ändern.

Ich hoffe es hilft.

  • Er fragte „Wie erhalte ich eine Kategorieliste der beliebtesten Produkte“, nicht Produkte nach Kategorien

    – Anyapps

    19. Dezember 2019 um 19:00 Uhr

Ich empfehle Ihnen, diese Seite zu überprüfen.

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"]

Oder Sie können dieses Plugin verwenden: https://wordpress.org/plugins/sp-woocommerce-best-selling-products-by-category/

  • Hallo danke für die Antwort. Ich habe das vorgeschlagene Plugin ausprobiert, konnte es aber nicht herausfinden, um die Liste der beliebtesten Kategorien anzuzeigen. Können Sie das kurz erläutern.

    – nishant

    8. August 2014 um 11:11 Uhr

Beliebt kann in vielen Fällen wie die meistgesehenen, meistverkauften sein. Also habe ich Produkte nach den meistverkauften aufgelistet. Auf diese Weise können Sie die meistverkauften Produkte erhalten und auf diese Weise eine Kategorieliste erhalten.

$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;

1381990cookie-checkSo erhalten Sie eine Kategorieliste der beliebtesten Produkte in WooCommerce

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy