亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶有上一個和下一個學期鏈接的 WooCommerce 產品類別頁面

帶有上一個和下一個學期鏈接的 WooCommerce 產品類別頁面

PHP
一只萌萌小番薯 2023-10-15 14:48:27
我想自定義 WooCommerce 類別頁面 (archive-product.php) 以顯示當前產品類別,但我也想在頁面中的某處創建指向上一個和下一個類別術語鏈接的上一個和下一個鏈接。我嘗試了很多解決方案但沒有運氣。我已經設法實現了一個采用實際類別 ID 的代碼,我添加了 +1 和 -1,并且能夠創建鏈接,但最大的問題是當“下一個鏈接”位于最后一個不起作用的類別時,不是鏈接的無限循環。即,如果我在第 6 頁上,即我擁有的最后一個類別,下一個應該是 1,上一個應該是 5,如果我在第一個類別上,上一個應該是 6,下一個應該是 2。請在下面找到我正在使用并且正在工作但不符合我需要的代碼:<?php$taxonomy = 'product_cat';$cate = get_queried_object();$cateID = $cate->term_id;$next_cateID = $cateID + 1;$prev_cateID = $cateID - 1; $next_term_link = get_term_link( $next_cateID, $taxonomy );$next_term = get_term( $next_cateID, $taxonomy );$next_slug = $next_term->name;$prev_term_link = get_term_link( $prev_cateID, $taxonomy );$prev_term = get_term( $prev_cateID, $taxonomy );$prev_slug = $prev_term->name;?><p><a href="<?php echo $prev_term_link ?>"><?php echo $prev_slug; ?></a></p><p><a href="<?php echo $next_term_link ?>"><?php echo $next_slug; ?></a></p>
查看完整描述

1 回答

?
翻閱古今

TA貢獻1780條經驗 獲得超5個贊

更新:


您只需定義第一個和最后一個類別 ID。然后它將作為無限循環工作(假設您的產品類別術語是連續的):


<?php

if ( is_product_category() ) :

$taxonomy    = 'product_cat'; // WooCommerce product category taxonomy

$term_id     = get_queried_object_id(); // Current product category term Id


// Get first product category term Id

$query_args  = array('taxonomy' => 'product_cat', 'hide_empty' => false, 'orderby' => 'term_id', 'number' => '1', 'fields' => 'ids');

$term_id_1st = get_terms($query_args);

$term_id_1st = reset($term_id_1st);


// Get last product category term Id

$query_args['order'] = 'DESC';

$term_id_end  = get_terms($query_args);

$term_id_end  = reset($term_id_end);


$next_term_id = $term_id_end == $term_id ? $term_id_1st : $term_id + 1;

$prev_term_id = $term_id_1st == $term_id ? $term_id_end : $term_id - 1; 


$next_term_link = get_term_link( $next_term_id, $taxonomy );

$next_term      = get_term( $next_term_id, $taxonomy );


$prev_term_link = get_term_link( $prev_term_id, $taxonomy );

$prev_term      = get_term( $prev_term_id, $taxonomy );


?>

<p><a href="<?php echo $prev_term_link ?>"><?php echo $prev_term->name; ?></a></p>

<p><a href="<?php echo $next_term_link ?>"><?php echo $next_term->name; ?></a></p>

<?php endif; ?>

要獲得最后一個類別,您可以嘗試以下操作


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 145 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號