下面的代码用于使用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’=> get_post_meta(get_the_ID(),’_ weight’,true),但它显示为空字符串(权重:“”),即使该产品在网站上具有权重值.
如上所述,我如何获得每个产品的重量并将其添加到阵列中以达到重量.
一直在做一些研究,这似乎是项目的工作.我究竟做错了什么?
我该如何解决?
解决方法:
global $product;
$product->get_weight();