大量的空
问题描述:
我使用Wordpress Woocommerce,我想显示某个类别的产品列表。下面是代码:大量的空<option>列表
<form method="POST" action="booktable.php">
<?php
$args = array(
'product_cat' => 'test-restaurant',
'post_type' => 'product',
'orderby' => 'title',
);
$products = new WP_Query($args);
echo "<select name='booktable'>";
foreach ($products as $product) {
$products->the_post();
?>
<option value="<?php the_ID(); ?> "> <?php the_title(); ?>
<?php
}
echo "</select>";
?>
<input type="submit" value="Book">
</form>
我得到我想要的结果,但问题是,在下拉列表中有很多的空期权,以及像miltiple这样:
<option value=" "></option>
莫非你帮我弄清楚是什么原因造成的问题?
答
product_cat
参数不是一个有效的参数。看wp_query可能的参数和值需要。
可能的值是
cat (int) - use category id. category_name (string) - use category slug. category__and (array) - use category id. category__in (array) - use category id. category__not_in (array) - use category id.
不要忘了,如果你通过woocommerce产品循环,可以使不同的检索某些产品DATAS,使用tax_query或meta_query从产品达到细节。
事实上,使用通常的分类查询无法找到产品的分类标准。您需要使用tax_query并选择你所寻找的,product_cat
或product_tag
$args = array(
'post_type' => 'product',
'orderby' => 'title',
'post_status' => 'publish',
'posts_per_page' => 15,
'tax_query'=> array(
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'test-restaurant',
'operator' => 'IN' // Possible values are 'IN', 'NOT IN', 'AND'.
)
),
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
)
),
);
$products = new WP_Query($args);
echo "<select name='booktable'>";
foreach ($products as $product) {
// if you need to retrieve the sku
$product_data = new WC_Product($product->ID);
$sku = $product_data->get_sku();
?>
<option value="<?php echo $product->ID; ?> "> <?php echo $product->post_title; ?> </option>
<?php
}
echo "</select>";
谢谢您的回答正确的税,但它没有帮助。当我使用category_name而不是product_cat时,根本不显示任何内容。 –
我编辑了$ args。希望它有效;-) – Benoti
非常感谢,但也有同样的问题:很多空的下拉选项。 –