Ниже приведу пользовательский цикл, в случае если вы хотите где-то вывести продукты 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);
Если у вас есть вопросы — оставляйте комментарий, я обязательно постараюсь ответить.