回到Woocommerce产品页面的产品类别

时间:2018-02-13 14:45:26

标签: php wordpress woocommerce product custom-taxonomy

我想在产品页面上设置一个后退按钮(到产品类别)。 我无法在页面上获得类别和回显。

我尝试使用此代码,但它无法正常工作......

         $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条件,我也没有获得任何链接。

谢谢!

2 个答案:

答案 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