Wordpress 在Woocomece类别页面中获取下一个和上一个类别链接

Wordpress 在Woocomece类别页面中获取下一个和上一个类别链接,wordpress,categories,product,shop,Wordpress,Categories,Product,Shop,我无法在woocmmerce中获取下一个和上一个类别的链接和名称。 事实上我发现了,但这只是普通的wordpress分类帖子。。 我需要下一个和上一个产品类别…任何帮助…我会上诉 我试过下面的代码,但那根本不符合逻辑…: global $wp_query; // get the query object $cat = $wp_query->get_queried_object(); $cateID = $cat->term_id -1; $termname = get_term_b

我无法在woocmmerce中获取下一个和上一个类别的链接和名称。 事实上我发现了,但这只是普通的wordpress分类帖子。。 我需要下一个和上一个产品类别…任何帮助…我会上诉

我试过下面的代码,但那根本不符合逻辑…:

 global $wp_query;
// get the query object
$cat = $wp_query->get_queried_object();
$cateID = $cat->term_id -1;
$termname = get_term_by( 'id', $cateID, 'product_cat' );
$plinkname = get_term_link(  $cateID, 'product_cat' );

这将重新运行+1个类别Id。但是,例如,当其中一个类别被删除时,它将不起作用。

函数中。php

function woocommerce_next_prev_link() {
if ( is_product_category() ){
    $taxonomy = 'product_cat';
    // Load all the terms for the product category
    $terms = get_terms( array(
        'taxonomy'   => $taxonomy,
        'hide_empty' => FALSE,
    ) );

    // Put all of the category id's into a simple array for searching
    $ids = array();
    foreach( $terms as $term ) {  
      $ids[] = $term->term_id; 
    }
    global $wp_query;
    $cat_obj = $wp_query->get_queried_object();

    // Load the current term ID from the current query
    $this_term = $cat_obj->term_id;
    // Find the term in the list of ID's

    $this_position = array_search( $this_term, $ids );
    // Identify the previous term
    $prev_position = $this_position - 1;
    // Identify the next term
    $next_position = $this_position + 1;

    // IF the previous term exists, and is not "off" the list (the currently displayed term is not the first term), then display the link
    if( $prev_position >=0 ) {
        $prev_id = array_slice( $ids, $prev_position, 1 );
        $prev_term = get_term( $prev_id[0], $taxonomy );
        if ( $prev_term ) {
            echo '<a href="' . get_term_link( $prev_term->term_id, $taxonomy ) . '">&laquo; ' . $prev_term->name . '</a>'; 
        }
    }

     // IF the next term exists, and is not "off" the list (the currently displayed term is not the last term), then display the link
    if( $next_position > 0 && $next_position < count($ids) ) {
        $next_id = array_slice( $ids, $next_position, 1 );
        $next_term = get_term ($next_id[0], $taxonomy );
        if ( $next_term ) {
            echo '<a href="' . get_term_link( $next_term->term_id, $taxonomy ) . '">' . $next_term->name . ' &raquo;</a>'; 
        }
    }
}
woocommerce_next_prev_link();