需要在单个产品页面边栏上显示产品所属类别中的其他产品。
例如: 产品类别(x,y,z)中包含自行车 点击Bike时,我是@ the product single page。 在右侧边栏中,我想展示X + Y + Z - Bike的所有产品。
我怎样才能达到这个目标?
答案 0 :(得分:0)
您可以尝试使用此代码来实现结果: 在sidebar.php
if(is_product()) {
// if you are on single product page
$productObj =get_queried_object();
$categories = get_the_terms($productObj->id,'product_cat');
$cat_list = array();
foreach($categories as $category)
{$cat_list[] = $category->term_id;};
$posts = get_posts(
array(
'post_type' => 'product',
'numberposts' => -1,
'post_status' => 'publish',
'fields' => 'ids',
'no_found_rows' => true,
'exclude' => array($productObj->id),
'tax_query' => array(
array(
'taxonomy' => 'product_cat',
'terms' => $cat_list,
'field' => 'term_id'
)
)
)
);
// now you can iterate through the $posts and show the appropriate list.
}