Код, указанный ниже, используется для получения данных по продуктам категории «книги» на моем веб-сайте Wordpress с использованием Woocommerce.Получить вес продукта от Wordpress
<?php
$args = array('post_type' => 'product', 'posts_per_page' => 200, 'product_cat' => 'books');
$loop = new WP_Query($args);
$send_array = array();
while ($loop->have_posts()) : $loop->the_post();
global $product;
$send_array[] = array(
'id' => get_the_ID(),
'title' => get_the_title(),
'content' => get_the_content(),
'regular_price' => get_post_meta(get_the_ID(), '_regular_price', true),
'sale_price'=> get_post_meta(get_the_ID(), '_sale_price', true),
'weight' => woocommerce_get_product_terms($product->id, 'weight', 'names')
);
endwhile;
wp_reset_query();
ob_clean();
echo json_encode($send_array);
exit();
?>
Это отлично работает и возвращает данные правильно атрибута weight
исключением.
Это настраиваемый атрибут, установленный на моем веб-сайте с использованием Woocommerce. В моей базе данных атрибут веса отображается в таблице wp_woocommerce_attribute_taxonomies
. Эта таблица содержит поле attribute_id
, attribute_name
, attribute_label
и т.д.
Кода я использовал выше, чтобы получить ценность продукта weight
не работает.
Я также пробовал 'weight' => get_post_meta(get_the_ID(), '_weight', true)
, но он отображается как пустая строка (вес: ""), даже если этот продукт имеет значение веса на веб-сайте.
Как получить вес для каждого продукта и добавить его к массиву на ключ weight
, как я пытался выше.
Проводили некоторые исследования, и это, казалось, было предназначено для работы. Что я делаю не так?
Как исправить это?
Я попытался это, но тогда значение ключа 'weight' обнаружился, как«нуль», и когда я использую' var_dump ($ веса) ', страница показывает пустой. Ничего не возвращалось. – Tester
Вы должны предисловие к вашим ключам атрибутов с помощью «pa_», поэтому вес должен быть «pa_weight». Я настроил атрибут для веса, чтобы проверить его, и для меня возвращает массив весов. – pIxelnate
Вы имеете в виду добавить предисловие «pa_» в панель инструментов Wordpress назад? Или мне просто нужно перейти на «pa_weight» в приведенном выше коде, т. Е. '$ Weight = woocommerce_get_product_terms ($ product-> id, 'pa_weight', 'names');' – Tester