在 Woocommerce 产品页面中设置回产品类别
Set back to product category in Woocommerce Product Page
我想在我的产品页面上设置一个后退按钮(返回产品类别)。
我无法获取类别并在页面上回显。
我试过使用此代码,但它不起作用...
$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 条件,我也没有得到任何 link。
谢谢!
看起来你的 break 语句正在打破循环,即使没有满足任何条件,所以 foreach 甚至在我们匹配之前就终止了。尝试移动休息时间;语句进入 if 条件块,如下所示:
$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; // this will stop the loop as soon as we have a match.
}
}
函数 get_the_category()
是为 WordPress 类别创建的,而不是为 WooCommerce 产品类别创建的,这是一个自定义分类法。 get_category_link()
也一样……
所以你应该使用 wp_get_post_terms()
with an additional optional argument that will allow you to get only parent product categories. For the link you will use 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 文件。
已测试并有效。
我想在我的产品页面上设置一个后退按钮(返回产品类别)。 我无法获取类别并在页面上回显。
我试过使用此代码,但它不起作用...
$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 条件,我也没有得到任何 link。
谢谢!
看起来你的 break 语句正在打破循环,即使没有满足任何条件,所以 foreach 甚至在我们匹配之前就终止了。尝试移动休息时间;语句进入 if 条件块,如下所示:
$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; // this will stop the loop as soon as we have a match.
}
}
函数 get_the_category()
是为 WordPress 类别创建的,而不是为 WooCommerce 产品类别创建的,这是一个自定义分类法。 get_category_link()
也一样……
所以你应该使用 wp_get_post_terms()
with an additional optional argument that will allow you to get only parent product categories. For the link you will use 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 文件。
已测试并有效。