gpt4 book ai didi

php - 按 WooCommerce WC_Product_Query 中的产品属性术语过滤

转载 作者:行者123 更新时间:2023-12-04 08:23:36 29 4
gpt4 key购买 nike

我正在尝试使用 为产品创建一个循环WC_Product_Query .
现在我想按产品属性过滤它们。
使用 WP查询可以通过 做到这一点tax_query .
但是使用 WC_Product_Query 它不起作用。
(我不想要 WP_Query ,因为对于产品最好使用 WC_Product_Query )

<?php
$query = new WC_Product_Query(array(
'limit' => 5,
'orderby' => 'date',
'order' => 'DESC',
));

$products = $query->get_products();
$products = wc_products_array_orderby( $products, 'price', 'DESC' );

if (!empty($products)) :
?>
<table>
<?php
foreach ($products as $product) :
?>
<tr>
<td><a href="<?php echo get_permalink($product->get_id()); ?>"><?php echo get_the_title($product->get_id()); ?></a></td>
<td><?php echo get_the_post_thumbnail( $product->get_id(), 'thumbnail' ); ?></td>
<td><?php echo $product->get_price(); ?></td>
</tr>
<?php
endforeach;
?>
</table>
<?php
endif;
以下是在 WP Query 中执行此操作的方法:
$args = array(
'post_type' => 'product',
'tax_query' => array(
array(
'taxonomy' => 'pa_color',
'field' => 'slug',
'terms' => 'red',
),
),
);
$query = new WP_Query( $args );

最佳答案

就像在 WP_Query 中一样,您可以使用 tax_queryWC_Product_Query喜欢:

$query = new WC_Product_Query(array(
'limit' => 5,
'orderby' => 'date',
'order' => 'DESC',
'tax_query' => array( array(
'taxonomy' => 'pa_color',
'field' => 'slug',
'terms' => 'red',
) ),
) );

$products = wc_products_array_orderby( $query->get_products(), 'price', 'DESC' );

if ( ! empty($products) ) : ?>
<table><?php
// Products loop
foreach ($products as $product) : ?>
<tr>
<td><a href="<?php echo get_permalink($product->get_id()); ?>"><?php echo get_the_title($product->get_id()); ?></a></td>
<td><?php echo get_the_post_thumbnail( $product->get_id(), 'thumbnail' ); ?></td>
<td><?php echo $product->get_price(); ?></td>
</tr><?php
endforeach; ?>
</table><?php
endif;
自 WooCommerce 版本 3 以来经过测试并有效。

关于php - 按 WooCommerce WC_Product_Query 中的产品属性术语过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65381491/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com