為何要用 get_term_link?:
新類(lèi)型的分類(lèi)是無(wú)法用 <?php echo get_category_link( $category_id ); ?> 輸出分類(lèi)鏈接地址的,需要用 get_term_link() 函數(shù),此函數(shù)用法如下:
<?php get_term_link( $term, $taxonomy ); ?>
具體參考 WordPress Codex:http://codex.wordpress.org/Function_Reference/get_term_link
問(wèn)題:
舉個(gè)例:
- 自定義分類(lèi)ID的變量為 $term,$term 是根據(jù)后臺(tái)設(shè)置而改變的,為了方便說(shuō)明,這里假定后臺(tái)參數(shù)為 $custom_term = 8
- 我要獲取自定義分類(lèi)ID為 $term 的分類(lèi)鏈接地址,那么按照官方說(shuō)明應(yīng)該是:
<?php
$term = $custom_term;
echo get_term_link( $term, 'product_cat');
?>
看似沒(méi)錯(cuò),但問(wèn)題來(lái)了,這樣會(huì)返回錯(cuò)誤:
Catchable fatal error: Object of class WP_Error could not be converted to string in.。沒(méi)錯(cuò)啊,直接用 echo $term; 輸出結(jié)果的確是 8,這就讓人郁悶了……
不過(guò)如果你直接這樣:
<?php echo get_term_link( 8, 'product_cat'); ?>
又能正常工作。
解決方法:
在 WordPress Codex 打轉(zhuǎn)時(shí),無(wú)意中看到國(guó)外朋友也碰到這個(gè)問(wèn)題,然后他自己解決了,頓悟……傳送門(mén) 》
原來(lái)是變量類(lèi)型問(wèn)題,這 get_term_link 函數(shù)和其它常用的 WordPress 函數(shù)不同,不會(huì)自己轉(zhuǎn)換變量類(lèi)型,你得先把字符類(lèi)轉(zhuǎn)換為整數(shù)才能正常工作,好Orz的函數(shù)!
下面這樣就能正常工作:
(坐在沙發(fā)上的Bolo注:intval($term, 10)會(huì)更好,不然$term值太大的時(shí)候會(huì)有進(jìn)制轉(zhuǎn)換問(wèn)題,要么就用(int)$term)
<?php
$term = $custom_term;
echo get_term_link( intval($term), 'product_cat');
?>
所以,以后遇到類(lèi)似這郁悶的函數(shù),就要考慮是不是變量數(shù)據(jù)類(lèi)型問(wèn)題了。
折騰玩(完)。
WordPress中函數(shù)get_term_link的參數(shù)設(shè)置問(wèn)題
2019-09-28 14:19WordPress教程網(wǎng) Wordpress
最近幫一個(gè)朋友寫(xiě)企業(yè)類(lèi)主題,需要對(duì)產(chǎn)品設(shè)定一個(gè)專(zhuān)門(mén)的 post type 名叫 product,為了管理方便性,我對(duì) product 設(shè)置了專(zhuān)門(mén)的分類(lèi)類(lèi)型和標(biāo)簽類(lèi)型,分類(lèi)類(lèi)型為 product_cat(WordPress 本身的分類(lèi)類(lèi)型為 category)。
延伸 · 閱讀
- 2024-12-13WordPress 大戰(zhàn)暫告段落:WP Engine 勝訴,Automattic 被
- 2022-03-11Python 函數(shù)裝飾器應(yīng)用教程
- 2022-03-11Python全棧之文件函數(shù)和函數(shù)參數(shù)
- 2022-03-10C++ 函數(shù)的介紹
- 2022-03-10Python全棧之路正則函數(shù)
- 2022-03-10詳解Python的函數(shù)與異常
- Wordpress
WordPress添加前臺(tái)注冊(cè)功能的方法
這篇文章主要為大家介紹了WordPress添加前臺(tái)注冊(cè)功能的方法,較為詳細(xì)的分析了前臺(tái)注冊(cè)功能的完整實(shí)現(xiàn)過(guò)程,是進(jìn)行WordPress開(kāi)發(fā)非常實(shí)用的技巧,需要的朋友...
- Wordpress
WordPress管理頁(yè)面底部自定義文字的方法
這篇文章主要為大家介紹了WordPress管理頁(yè)面底部自定義文字的方法,可通過(guò)調(diào)用一個(gè)自定義函數(shù)來(lái)實(shí)現(xiàn)該功能,是非常實(shí)用的技巧,需要的朋友可以參考下...
- Wordpress
php-cgi進(jìn)程cpu負(fù)載過(guò)高:禁用wordpress定時(shí)任務(wù)wp-cron.php
這篇文章主要介紹了php-cgi進(jìn)程cpu負(fù)載過(guò)高:禁用wordpress定時(shí)任務(wù)wp-cron.php,需要的朋友可以參考下...
- Wordpress
免插件在wordpress中插入表格的方法
要在 WordPress 中插入表格其實(shí)并非難事,只要用 wp-table 插件就能輕松做到,本文的重點(diǎn)是介紹免插件在 WordPress 中插入表格的方法,下面有個(gè)不錯(cuò)的示例感...
- Wordpress
WordPress更換主域名后需要的操作分享
博客更換主域名是很正常的事情,但更換完主域名之后,有一些事情是必須完成,否則會(huì)影響到你的WordPress博客正常使用,這里簡(jiǎn)單介紹下, 方便需要的朋...
- Wordpress
wordpress給文章生成二維碼的方法
這篇文章主要為大家介紹了wordpress給文章生成二維碼的方法,涉及google接口的調(diào)用技巧以及本地緩存的應(yīng)用技巧,具有一定的參考借鑒價(jià)值,需要的朋友可以參...
- Wordpress
WordPress給文章添加百度是否已收錄查詢(xún)和顯示功能
文章頁(yè)面顯示百度是否收錄這個(gè)功能在筆者的博客已經(jīng)測(cè)試有一段時(shí)間了。最開(kāi)始的代碼也是從網(wǎng)絡(luò)上找的,只是自己用,所以也就沒(méi)想著分享了,畢竟是...
- Wordpress
wordpress禁止復(fù)制內(nèi)容的實(shí)現(xiàn)方法
下面分享兩種代碼,一直在別人復(fù)制網(wǎng)站內(nèi)容時(shí),顯示溫馨提示語(yǔ);另一種更直接的禁止了所有有關(guān)復(fù)制功能鍵的使用 ...