Woocommerce相关产品部分显示了相同的产品

时间:2020-05-29 14:59:28

标签: php wordpress woocommerce hook-woocommerce woocommerce-theming

我想在我的产品页面上显示相关产品部分,但是它在所有列中都显示了实际产品。 这是我的代码:

<?php
    while ($loop->have_posts()): $loop->the_post();
        $featured_image = wp_get_attachment_image_src(get_post_thumbnail_id($product->get_id()), 'single-post-thumbnail'); ?>
        <div class="col-lg-3 related-tour">
            <article>
                <div class="featured-image" style="background-image: url(<?php echo (!empty($featured_image)) ? $featured_image[0] : '';?>);"></div>
                <div class="article-info">
                    <h2>
                        <a href="<?php echo $product->get_permalink();?>"><?php echo $product->get_name();?></a>
                    </h2>
                    <p class="category">
                        <span><?php pll_e( 'Categories:' ); ?></span>
                        <?php echo $product->get_categories(', ', ' ' . __(' ', '  ', $cat_count, 'woocommerce') . ' ', ' ');?>
                    </p>
                </div>
            </article>
        </div>
    <?php endwhile;?>
    <?php wp_reset_query();?>

该如何解决此问题?

1 个答案:

答案 0 :(得分:0)

请勿使用自定义功能显示相关产品。

函数woocommerce_output_related_products显示了相关产品。

在此文件/single-product/related.php中查看。 (https://github.com/woocommerce/woocommerce/blob/master/templates/single-product/related.php

您可以使用woocommerce_output_related_products_args过滤器来更改相关产品查询的产品参数。

add_filter( 'woocommerce_output_related_products_args', 'my_woocommerce_output_related_products_args' );
function woocommerce_output_related_products_args( $args ) {
    $args['post__not_in'] = [ get_the_ID() ];

    return $args;
}