我想在产品页面上设置一个后退按钮(到产品类别)。 我无法在页面上获得类别和回显。
我尝试使用此代码,但它无法正常工作......
$cats=get_the_category();
foreach($cats as $cat){
if($cat->category_parent == 0 && $cat->term_id != 1){
echo '<h2 class="link"><a href="'.get_category_link($cat->term_id ).'">Return</a></h2>';
}
break;
}
我有这个代码的第一个问题是我没有选择设置产品的父类别。 (如果你能帮助我怎么设置它,那就太棒了。)
即使我删除了这个If条件,我也没有获得任何链接。
谢谢!
答案 0 :(得分:1)
函数get_the_category()
是WordPress类别的佣人,但不适用于WooCommerce产品类别,这是一种自定义分类。 get_category_link()
...
因此,您应该使用wp_get_post_terms()
代替另一个可选参数,该参数将允许您仅获取父产品类别。对于该链接,您将使用get_term_link()
代替:
// Get parent product categories on single product pages
$terms = wp_get_post_terms( get_the_id(), 'product_cat', array( 'include_children' => false ) );
// Get the first main product category (not a child one)
$term = reset($terms);
$term_link = get_term_link( $term->term_id, 'product_cat' ); // The link
echo '<h2 class="link"><a href="'.$term_link.'">Return</a></h2>';
代码放在活动子主题(活动主题)的function.php文件中。
经过测试和工作。
答案 1 :(得分:0)
看起来你的break语句即使没有遇到任何条件也会破坏循环,所以即使在我们匹配之前foreach也会终止。尝试移动休息;声明进入if条件块如下:
!default