Не могу разобраться как получить данные товаров Woocommerce(Wordpress)

163
11 декабря 2018, 11:20

Пытаюсь разобраться как получить данные товаров, а именно:

  1. Название товара.
  2. Описание товара.
  3. Основное изображение товара.
  4. Остальные изображение товара(галерея).
  5. Цена товара.

Я пытался достать эти данные с помощью get_posts:

$posts = get_posts(Array('post_type'=>'product'));
foreach($posts as $post) {
  setup_postdata($post);
  the_title();
  the_id();
  the_time();
}

Но у меня не получается достать цену.

Так же я пытался достать данные с помощью wc_get_products и WC_Product_Query

$query = new WC_Product_Query( array(
    'limit' => 10,
    'orderby' => 'date',
    'order' => 'DESC',
    'return' => 'ids',
) );
$products = $query->get_products();
var_dump($products);

Но в данном случае я получал лишь массив с id записей... Как мне получить эти данные?

P.s. я пытался найти ответ в интернете. После того как я не нашел ответ я отправился читать документацию https://docs.woocommerce.com/wc-apidocs/index.html, но как-то не могу переварить как это должно работать. Буду рад если кто-то сможет объяснить.

Answer 1

Товар - другой объект. Получив id поста, нужно получить объект "товар", а потом уже его цену.

$wc_product = wc_get_product( $post->ID );
$price      = $wc_product->get_regular_price();

У объекта товар множество методов, с помощью которых можно получать информацию о товаре. Смотрите в файле wp-content/plugins/woocommerce/includes/abstracts/abstract-wc-product.php

READ ALSO
Алгоритм вывода людей и мест работы

Алгоритм вывода людей и мест работы

Есть список людей и список их мест работыНапример так:

134
Как получить размер gif-картинки в ВК?

Как получить размер gif-картинки в ВК?

Знаю что в интернете есть полно функций, которые позволяют сделать это, но в ВК есть нюанс, например для скачивания гифки нельзя использовать...

131
Фильтрация данных по выбору select

Фильтрация данных по выбору select

Привет всем, объясните мне дураку как реализовать фильтрацию данных самим пользователем

131