在产品类别页面中显示特色产品

时间:2013-07-26 作者:Ilias Antonopoulos

我想在woocommerce的以下问题上得到一些帮助。

我正在使用wordpress 3.5.2、woocommerce 2.0.13和sommerce主题。

我有一个产品类别页面,其中显示了5个子类别。Under 这5个子类别的图片,我想有一些特色产品或这些类别的随机产品。你知道我怎么做吗?

2 个回复
SO网友:helgatheviking

我只是仔细检查了一下,WooCommerce通过the_content 过滤器,这意味着它应该运行短代码。

WooCommerce有很多短代码,see their documentation

包括特色产品:

[featured_products per_page="12" columns="4"]
这样做的缺点是,特色产品可能并非都来自该特定类别。你没有提到这是否是一个问题。

如果是,则可以从[featured_products] (这实际上只是运行一个二次循环WP_Query), 稍微调整一下,将输出添加到woocommerce_before_shop_loop

function wpa_107952_featured (){

    if( !is_product_category() )
        return;


    $args = array(
        \'post_type\' => \'product\',
        \'product_cat\' => get_query_var(\'product_cat\'),
        \'post_status\' => \'publish\',
        \'ignore_sticky_posts\'   => 1,
        \'posts_per_page\' => 8,
        \'meta_query\' => array(
            array(
                \'key\' => \'_visibility\',
                \'value\' => array(\'catalog\', \'visible\'),
                \'compare\' => \'IN\'
            ),
            array(
                \'key\' => \'_featured\',
                \'value\' => \'yes\'
            )
        )
    );

    ob_start();

    $products = new WP_Query( $args );

    $woocommerce_loop[\'columns\'] = 4;

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

        <?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();

    echo \'<div class="woocommerce">\' . ob_get_clean() . \'</div>\';
}

add_action( \'woocommerce_before_shop_loop\', \'wpa_107952_featured\' );

SO网友:jameshwart lopez

这有点晚了,但对于那些正在寻找答案的人来说,你可以下载、安装和激活https://wordpress.org/plugins/featured-products-by-category/ 它使用最新和标准的woocommerce功能wc\\U get\\u产品。

一旦激活,请在函数中输入以下代码。php

<?php

/*
   Show featured products first. Before the normal product list
*/
add_action(\'woocommerce_before_shop_loop\', function() {

    if(is_product_category()) {
        $current_term = get_queried_object();
        echo do_shortcode(\'[featured_products_by_category cat="\'.$current_term->slug.\'" limit=3]\');
    }
  
});
查看全文here -&燃气轮机;https://jameshwartlopez.com/plugin/show-featured-products-in-product-category-pages/

结束

相关推荐

Extracting post categories

我正在帮助一位同事重新配置Wordpress数据库,以便在其他平台上使用。数据库基本上是关于所有帖子和附带元数据等的详细信息。我一直坚持的一件事是确定如何将每个帖子与其Wordpress类别关联起来。基本上,我希望能够将每个帖子及其对应的类别提取到电子表格中,要做到这一点,我显然需要知道它们在表格中的关系。有人能给我指出正确的方向吗?如有任何帮助,我们将不胜感激。非常感谢。