Пользовательский цикл для вывода продуктов WooCommerce

Ниже приведу пользовательский цикл, в случае если вы хотите где-то вывести продукты WooCommerce у себя на сайте, например, на главной странице.

Мы можем использовать вполне стандартный цикл WordPress и получить доступ к продуктам через этот цикл, установив для аргумента post_type (тип записи) значение product:

<?php

// Setup your custom query
$args = array( 'post_type' => 'product', ... );
$loop = new WP_Query( $args );

while ( $loop->have_posts() ) : $loop->the_post(); ?>

    <a href="<?php echo get_permalink( $loop->post->ID ) ?>">
        <?php the_title(); ?>
    </a>

<?php endwhile; wp_reset_query(); ?>

Не забываем использовать «сброс» цикла в конце через wp_reset_query();. Другой рекомендуемый вариант — использовать wp_reset_postdata();.

Если вы хотите получить цену и т.д., вы можете сделать так:

$product = get_product($loop->post);

И затем использовать его так же, как используется WC_Product:

echo $product->get_price_html();

UPD

Функция get_product() была упразднена, используйте вместо неё:

$product = new WC_Product($loop->post->ID);

Если у вас есть вопросы — оставляйте комментарий, я обязательно постараюсь ответить.

Опубликовано 28 апреля 2024 в 19:38
Обновлено 8 июня 2024 в 18:37
Категория: Блог
Теги: ,