Плагины — Получение Объекта Product В Пользовательском Цикле

  • Автор темы Doozysoinnyhpk7017
  • Обновлено
  • 21, Oct 2024
  • #1

В настоящее время я создаю тему для сайта, который использует

get_post()
to provide a Shop to Customers. I have just started on it, and I am currently working on the Product Category pages. I have hit a road block trying to fetch the WooCommerce Product object.

Я прочитал это, используя переменную

post_description
should return the WC_Product object, but when I do
post_name
,
var_dump($product)
is returned.

Затем я попытался создать объект Product, выполнив

the_post(); $product = new WC_Product(get_the_ID())
, but when I did the
NULL
при этом он дал мне общую информацию о продукте (
the_post(); var_dump($product)
,
global $product
и т. д.), но не более того, если бы я позвонил
WooCommerce
.

Может кто-нибудь сказать мне, что я пропустил, пожалуйста?

#плагины

Doozysoinnyhpk7017


Рег
25 Oct, 2024

Тем
77

Постов
199

Баллов
614
  • 25, Oct 2024
  • #2

Вы можете использовать собственный запрос для получения объекта продукта. Вот фрагмент для подсчета запасов. Взгляните на класс продукта: http://docs.woothemes.com/wc-apidocs/class-WC_Product.html для функций, доступных для объекта продукта.

the_post()



Извините, я почти мгновенно нашел решение. Подумывал удалить вопрос, но если у других возникнет такая же проблема, оставлю его здесь.

Чтобы получить объект Product со всеми необходимыми атрибутами, вам нужно вызвать

get_product()
after
<?php $args = array(

'post_type'         => 'product',

'post_status'       => 'publish',

'posts_per_page'    => -1,

'orderby'           => 'title',

'order'             => 'ASC',               

'tax_query' => array(

array(

'taxonomy'  => 'product_type',

'field'     => 'slug',

'terms'     => array('simple'),

'operator'  => 'IN'

)

)

);

$loop = new WP_Query( $args );

$stock_count = array();

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

global $product;

$stock_count[] = $product->get_stock_quantity();

endwhile; 

// count the array values and output them

echo "<h2>Stock Count: ".array_sum($stock_count)."</h2>";

?>
, и это вернет объект Product, который вы сможете использовать.

 

TupTutNaift


Рег
26 Nov, 2003

Тем
74

Постов
190

Баллов
610
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно