嗨,我想在Wooccommerce中创建类别模板,根据它们适用的类别进行搜索,以找到该类别的子类别,并显示子类别的标题以及下面该子类别中的产品。
我已经创建了类别模板,并暂时在短代码中硬编码以显示子类别及其产品,但这不允许客户在没有我进一步干预的情况下创建新的产品子类别并将产品分配给它,有人能帮忙吗?
有问题的网站和使用类别模板中硬编码短代码的页面的URL为:
http://www.globalleisurefurniture.co.uk/products/tablestopsbases/table-bases/
所以本质上,我希望能够使用某种循环而不是硬编码的短代码来创建这个页面。。。
任何问题都可以随时询问,并在提供任何帮助之前表示感谢!
我基本上做了同样的事情,但没有循环并显示产品。为了在我的档案页面上获得父类别的孩子列表,我添加了:
function woocommerce_subcats_from_parentcat_by_ID($parent_cat_id, $current_cat_name = ''){
$args = array(
'hierarchical' => 1,
'show_option_none' => '',
'hide_empty' => 0,
'parent' => $parent_cat_id,
'taxonomy' => 'product_cat'
);
$subcats = get_categories($args);
echo '<ul class="wooc_sclist">';
//first link will be "view all for parent cat"
$parent_info = get_term_by('id', $parent_cat_id, 'product_cat');
$parent_permalink = get_term_link($parent_info, 'product_cat');
echo '<li>';
echo '<a href="'.$parent_permalink.'">View All ';
echo $parent_info->name;
echo '</a>';
echo '</li>';
foreach ($subcats as $sc) {
print_r($sc); // this will give you the sub cat info for each sub category, and you should be able to use the info in the array to build your loop here
$link = get_term_link( $sc->slug, $sc->taxonomy );
echo '<li class="';
if($current_cat_name == $sc->name){
echo 'active ';
}
echo '" ><a href="'. $link .'">'.$sc->name.'</a></li>';
}//foreach
echo '</ul>';
} //function
if($parent_cat_id != 0){
woocommerce_subcats_from_parentcat_by_ID($parent_cat_id, $current_category);
}
else{
woocommerce_subcats_from_parentcat_by_ID($cur_cat_id, $current_category);
}
您应该能够使用我在上面的代码中添加的print_r($sc)来获得该子类别所需的信息,以构建您的循环。