通过 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' );
我有一个功能可以按类别抓取产品,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' );