首页 > 解决方案 > 通过 slug 获取 Woocommerce 产品

问题描述

我有一个按类别抓取产品的功能,并使用他们的类别标签返回有关它们的特定数据,如下所示:

$itemArgs = array( 
    'post_type' => 'product', 
    'posts_per_page' => 1000, 
    'product_cat' => $request['id'], 
    'include_children' => false 
);
$loop = new WP_Query( $itemArgs );
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();
  //DO STUFF
endwhile; endif;

这非常有效。我现在需要的是通过自己的蛞蝓获得产品。上面的一个可能会获得“Cookies”类别的所有产品,而这个应该只返回“Chocolate Chip”产品。

我试过用 and 替换'product_cat''slug''product_slug'那些似乎不起作用。这似乎是一件相当简单的事情......有关于通过 48 种不同属性查找产品的文档......由于某种原因,slug 不是一个。我只是退回了整个产品系列。

标签: wordpresswoocommercewoocommerce-rest-api

解决方案


如果您查看 有关 WP_Query 的 Wordpress 法典帖子,您将看到有关页面和帖子参数的部分。在那里你会看到你可以使用 name 参数。

假设您的产品 slug 是巧克力片,您可以使用它通过 post_type 和 name 参数检索您的产品:

$itemArgs = array(
        'post_type' => 'product',
        'name' => 'chocolate-chip'
    );
$query = new WP_Query($itemArgs);

推荐阅读