• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Как вывести карту товара на странице в нужном месте через php код?

andreys12

Новичок
Вопрос конечно очень простой, но в интернете, как обычно, нет того что нужно.

Нужно вывести 1 товар из категории или несколько товаров из категории в определенном месте.
shortcode-sale.png


Каким способом лучше это сделать?
Я нашел такие варианты:

1) Шорт-код для php
echo do_shortcode('[products tag="tag" columns="4"]');

Не подходит в рамках будущих задач. Нужно будет выводить товары из разных категорий по одной штуке по тегу.

2) WP_query запрос к бд
$args = array(
// Использование аргумента tax_query для установки параметров терминов таксономии
'tax_query' => array(
// Использование нескольких таксономий требует параметр relation
'relation' => 'AND', // значение AND для выборки товаров принадлежащим одновременно ко всем указанным терминам
// массив для категории
array(
'taxonomy' => 'product_cat',
'field' => 'id',
'terms' => array( 16 ),
),
),
// Параметры отображения выведенных товаров
'posts_per_page' => 2, // количество выводимых товаров
'post_type' => 'product', // тип товара
'orderby' => 'date', // сортировка
);


$loop= new WP_Query($args);



while ( $loop->have_posts() ): $loop->the_post(); ?>
<div <?php post_class("inloop-product"); ?>>
<div class="row">
<div class="col-sm-4">
<?php the_post_thumbnail("thumbnail-215x300"); ?>
</div>
<div class="col-sm-8">
<h4>
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h4>
<?php the_content(); ?>
<p class="price">
<?php _e("Price:","examp"); ?>
<?php woocommerce_template_loop_price(); ?>
</p>
<?php woocommerce_template_loop_add_to_cart(); ?>
</div>
</div>
</div>
<?php endwhile; ?>

Ок. Но тут используется кастомная верстка карточки товара, что хотелось бы избежать и привести всё отображение товара к одному виду.

3) Хуки. Это лучше всего. Ищу информацию как воспользоваться хуком из archive-product.php, который как раз и выводит товары в стандартной верстке вукомерса.
https://github.com/woocommerce/woocommerce/blob/ma...

Насколько разобрался нужный мне хук + луп:
woocommerce_product_loop_start();
wc_get_template_part( 'content', 'product' ); - вывод товара.
woocommerce_product_loop_end();


Вот хотелось бы понять, как получить товары из нужной категории (тега, аттрибута) с помощью такого кода. Как передать параметры вывода товара в хук. Вообще возможно это или нет?
 
Сверху Снизу