В разделе товаров, связанных с Woocommerce, показаны те же товары - PullRequest
0 голосов
/ 29 мая 2020

Я хотел бы отображать раздел связанных продуктов на страницах моих продуктов, но он показывает фактический продукт во всех столбцах. Вот мой код:

<?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 голосов
/ 29 мая 2020

НЕ используйте пользовательскую функцию для отображения родственного продукта.

Итак, функция 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...