通过 slug 获取 Woocommerce 产品

Get Woocommerce product by slug

我有一个功能可以按类别抓取产品,return 使用他们的类别 slug 获取有关他们的特定数据,如下所示:

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

效果非常好。我现在需要的是通过它自己的 slug 获得一个产品。上面的那个可能会得到 "Cookies" 类别的所有产品,而这个应该 return 只是 "Chocolate Chip" 产品。

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

如果您查看 Wordpress codex post about the WP_Query,您将看到讨论页面和帖子参数的部分。在那里你会看到你可以使用名称参数。

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

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

https://wordpress.stackexchange.com/questions/206886/get-product-details-by-url-key-in-wordpress-woocommerce