我正在尝试在Wordpress for Woocommerce产品中使用自定义循环。我想在循环中显示随机特色产品。但出于某种原因,它并没有让我的论点正确,并从所有可用产品中挑选出一个随机产品。
这是我正在使用的代码。它确实显示了一个随机产品,但它忽略了代码的特色部分。
$args = array(
'posts_per_page' => 1,
'orderby' => 'rand',
'post_type' => 'product',
'meta_query' => array(
'key' => '_featured',
'value' => 'yes'
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<li>
<a href="<?php echo the_permalink(); ?>">
<h3><?php the_title(); ?></h3>
</a>
</li>
<?php endwhile;
wp_reset_query(); ?>
有人能引导我走向正确的方向吗?
提前致谢!
答案 0 :(得分:4)
我刚刚遇到过这个,
它不是直接针对您的问题,但可能是它的基础。
似乎特色商品不再存储为元:
$meta_query = WC()->query->get_meta_query();
$tax_query = WC()->query->get_tax_query();
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
$query_args = array(
'post_type' => 'product',
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 1,
'meta_query' => $meta_query,
'tax_query' => $tax_query,
);`
答案 1 :(得分:2)
WooCommerce 3中的特色产品循环
interface
答案 2 :(得分:0)
我认为你的键值数组在预期的数组层次结构中太远了,试试这个:
$args = array(
'posts_per_page' => 1,
'orderby' => 'rand',
'post_type' => 'product',
'meta_query' => array(
array(
'key' => '_featured',
'value' => 'yes',
)
)
);
答案 3 :(得分:0)
我遇到了同样的问题。试试这个 !适合我
<?php
$featured_query = new WP_Query( array(
'tax_query' => array(
array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN'
),
),
) );
?>