當前位置:首頁>WordPress建站>WordPress開發(fā)>文章模板 single.php 獲取當前文章所屬的分類名稱

文章模板 single.php 獲取當前文章所屬的分類名稱

之所以要發(fā)這篇文章,是因為這個方法適用于:

  1. WP默認文章分類
  2. 手動添加的自定文章分類
  3. 插件(custom post type ui)添加的自定義文章分類(含taxonomy)

方法目的:在文章模板中,調(diào)用該模板的所有文章,可以獲得當前文章所屬分類的ID,名稱。

方法實現(xiàn):首先在主題的 functions.php 里添加:

/**
 * 文章模板 single.php 獲取當前文章所屬的分類名稱
 * http://www.ydqwiac.cn/get-post-category.html
 */
function get_post_category_id($post_ID){
	global $wpdb;
	$sql="SELECT `term_taxonomy_id` FROM $wpdb->term_relationships WHERE `object_id`='".$post_ID."';";
	$cat_id=$wpdb->get_results($sql); 
	foreach($cat_id as $catId){
		$output=$catId->term_taxonomy_id;
	}
	$myCatId=intval($output);//這里就獲得當前文章所屬分類的分類ID
	$term = get_term( $myCatId, 'taxonomy_name' );//taxonomy_name為自己定義的或者默認的
	echo $term->name;//得到當前文章所屬分類的分類名稱
}

然后,在文章模板中,添加一句話即可:

<?php if(function_exists('get_post_category_id')) get_post_category_id(get_the_ID()); ?>
聲明:本站所有文章,如無特殊說明或標注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進行處理。

給TA打賞
共{{data.count}}人
人已打賞
歡迎關注WordPress大學公眾號 WPDAXUE
WordPress開發(fā)

WordPress 使用 gettext 鉤子替換本地化翻譯文本

2013-10-21 7:49:00

WordPress開發(fā)

檢查 PHP 和 WordPress 的最低版本

2013-12-7 9:49:48

13 條回復 A文章作者 M管理員
  1. 如此即可:
    cat_name;?>

    • 有尖括號也許顯示不出。代碼這樣:
      $the_post_category = get_the_category(get_the_ID()); echo $the_post_category[0]->cat_name;

    • 這個搞定。。

    • 內(nèi)行啊 謝謝了

  2. 沒那么費事,感覺這里有好多東西都不是最好的方法
    $cat = get_the_category(); $cat = $cat[0];
    $cat_id=$cat->cat_ID;

  3. 正好要用到這個功能,但是發(fā)現(xiàn)用不了啊,$myCatId的值是能輸出了,但是這個是term_taxonomy_id的值,應該是term_id的值才能顯示name。我其實不大懂,請高手幫忙看一下怎么改才好。

  4. redy

    我覺得他這個函數(shù)的的作用是一口氣把這個post相關的 category 和 terms 都找出來。是這樣吧?
    默認的話要多次循環(huán)
    get_the_terms(id,’taxonomy’); 這個有多少自定義分類就要循環(huán)多少次。
    為了要知道有多少 taxonomy 那么還需要再通過其他手段獲得所有的taxonomy slug
    get_the_category(id), 這個實際上也就是 特定去 category 這種taxonomy 里面找了以下

    我想使用原生方法 應該是這樣吧。

    我覺得他這個函數(shù)還是挺有用的,但是函數(shù)名字起的不好,容易讓一目十行的大俠誤解。

    要是誰有更好的辦法,也提出看法吧,這樣我也好學一招。

  5. 挺好的,正學習著

  6. 需要這么麻煩嗎,消耗性能,當前post_id是可以獲取吧,有個函數(shù)get_the_category($post_id),這里面有類別的所有信息

  7. 和 get_the_category get_the_terms有啥區(qū)別?

    • 多公布個方法而已

    • 有區(qū)別,這個方法不建議用,有自帶的方法何必再弄一個,多一次查詢

?
個人中心
購物車
優(yōu)惠劵
今日簽到
有新私信 私信列表
搜索

商城县| 漠河县| 榆中县| 沈丘县| 洛阳市| 瑞昌市| 个旧市| 盐边县| 泰安市| 西乌珠穆沁旗| 古丈县| 汉川市| 巢湖市| 芷江| 阿拉尔市| 桃源县| 句容市| 乃东县| 金山区| 岑溪市| 新乐市| 慈利县| 泸水县| 庄河市| 宝清县| 天门市| 合作市| 怀仁县| 桐城市| 津市市| 财经| 巍山| 崇信县| 渭南市| 吉木萨尔县| 遂昌县| 铁岭县| 文化| 罗平县| 宜阳县| 化隆|