我想在单个产品页面中添加一个后退按钮,以便在单击时页面将重定向到产品的相关父类别页面。我已经使用以下代码成功地为一个类别完成了这项工作。单击“返回设计”按钮后,将页面重定向到衬衫类别。
add_action( \'woocommerce_before_single_product\', \'content_before_addtocart_button\' );
function content_before_addtocart_button() {
global $post;
$terms = get_the_terms( $post->ID, \'product_cat\' );
foreach ($terms as $term) {
if( $term->slug === \'shirts\')
echo \'<div class="content-section"><a href="\' . esc_url( get_term_link( $term->term_id, \'product_cat\' ) ) . \'">\' . \'Back to Other Designs\'. \'</a></div>\';
}
}
我想修改它,这样它将自动获取产品的当前类别页面链接,而无需像这样手动添加它们,并相应地重定向页面。非常感谢您在这方面提供的任何帮助。提前谢谢。
最合适的回答,由SO网友:Tanmay Patel 整理而成
输入以下代码functions.php 试试看。
add_action( \'woocommerce_before_single_product\', \'content_before_addtocart_button\' );
function content_before_addtocart_button() {
global $post;
$categories = array();
$taxonomies = get_terms( array(
\'taxonomy\' => \'product_cat\',
\'hide_empty\' => false,
\'parent\' => 0
));
if ( !empty($taxonomies) ) :
foreach( $taxonomies as $taxonomy ) {
$categories[] = $taxonomy->slug;
}
endif;
$terms = get_the_terms( $post->ID, \'product_cat\' );
if($terms[0]->parent != 0){
$parent_category = get_term( $terms[0]->parent, \'product_cat\' );
$parent_category_slug = $parent_category->slug;
foreach ($terms as $term) {
if(in_array( $parent_category_slug ,$categories )){
echo \'<div class="content-section"><a href="\' . esc_url( get_term_link( $term->term_id, \'product_cat\' ) ) . \'">\' . \'Back to Other Designs\'. \'</a></div>\';
}
}
}else{
echo \'<div class="content-section"><a href="\' . esc_url( get_term_link( $terms[0]->term_id, \'product_cat\' ) ) . \'">\' . \'Back to Other Designs\'. \'</a></div>\';
}
}