Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 很多空的<;选项>;列表_Wordpress_Woocommerce - Fatal编程技术网

Wordpress 很多空的<;选项>;列表

Wordpress 很多空的<;选项>;列表,wordpress,woocommerce,Wordpress,Woocommerce,我正在使用Wordpress Woocommerce,我想按特定类别显示产品列表。代码如下: <form method="POST" action="booktable.php"> <?php $args = array( 'product_cat' => 'test-restaurant', 'post_type' => 'product', 'orderby' => 'title', ); $products = new WP_Query( $args

我正在使用Wordpress Woocommerce,我想按特定类别显示产品列表。代码如下:

<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>


product\u cat
参数无效。查看可能需要的参数和值

可能的值是

别忘了,若你们在woocommerce产品中循环,你们可以通过不同的方式来检索一些产品数据,使用tax_查询或meta_查询来获取产品的详细信息

事实上,通常的类别查询无法找到用于产品的分类法。您需要使用tax\u query并选择您要查找的正确税种,
product\u cat
product\u 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>";
$args=数组(
“post_类型”=>“产品”,
'orderby'=>'title',
“发布状态”=>“发布”,
“每页帖子数”=>15,
“tax_query”=>数组(
排列(
“分类法”=>“产品分类”,
'字段'=>'段塞',
“术语”=>“测试餐厅”,
'运算符'=>'在'//可能的值为'IN','notin','AND'。
)
),
“元查询”=>数组(
排列(
“键”=>“\u可见性”,
'value'=>数组('catalog','visible'),
'比较'=>'中'
)
),
);
$products=新的WP_查询($args);
回声“;
foreach($products as$product){
//如果您需要检索sku
$product\U data=新的WC\U产品($product->ID);
$sku=$product_data->get_sku();
?>      

感谢您的回答,但这并没有帮助。当我使用category_name而不是product_cat时,什么都不会显示。非常感谢,但也有一个相同的问题:有很多空下拉选项。您有可变产品吗?您可能需要为可见产品添加meta_查询,'meta_query'=>array(array('key'=>'_visibility','value'=>array('catalog','visible'),'compare'=>'IN')),
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.
$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>";