mysql - woocomerce 如何获取类别中的产品

j j*_*nes 1 php mysql wordpress woocommerce

我正在编写一个网络服务,我需要获取一个类别中的所有产品,到目前为止我已经写了这个:

   SELECT *,ID, `post_date` ,  `post_title` ,  `post_content` ,  `guid` FROM  `wp_posts` as post

INNER JOIN wp_term_relationships rs ON rs.object_id = post.ID 
INNER JOIN wp_terms t ON t.term_id = rs.term_taxonomy_id 


WHERE  `post_type` =  'product'  
AND  `post_status` =  'publish'     
AND rs.term_taxonomy_id =909
Run Code Online (Sandbox Code Playgroud)

代码返回 3 个项目,但问题是,我的网站上有大约 20 种产品属于这个类别,网站上显示了所有这 20 种产品。

这段代码有什么问题?我怎样才能获得一个类别中的所有产品?顺便说一句,如果我可以使用的话,我也正在使用 woocomrce api。

din*_*era 6

您可以使用以下自定义查询获取与特定类别相关的所有产品

 //your custom category id   
 $cat_ids          =   123;
 $conn          =   new mysqli($servername, $username, $password,$database);

 $get_pro_by_cat   =   'SELECT ID, `post_title` FROM  `wp_posts` as post 
                       INNER JOIN wp_term_relationships rs ON rs.object_id = 
                       post.ID WHERE  `post_type` =  "product" AND `post_status` 
                       =  "publish" AND rs.term_taxonomy_id  =' .$cat_ids.' 
                       ORDER BY post_title';

$avail_products = $conn->query($get_pro_by_cat);
Run Code Online (Sandbox Code Playgroud)

注意:在上面的查询wp _posts中用wp_表前缀 替换你的表前缀。

您可以在以下网址查看演示:http : //cadjewelrygallery.com/。我希望它会帮助你。