文章模板 single.php 获取当前文章所属的分类名称

生活的激流已经涌现到万丈峭壁,只要再前进一步,就会变成壮丽的瀑布。没有播种,何来收获;没有辛苦,何来成功;没有磨难,何来荣耀;没有黯淡,何来辉煌。

之所以要发这篇文章,是因为这个方法适用于:

  1. WP默认文章分类
  2. 手动添加的自定文章分类
  3. 插件(custom post type ui)添加的自定义文章分类(含taxonomy)

方法目的:在文章模板中,调用该模板的所有文章,可以获得当前文章所属分类的ID,名称。

方法实现:首先在主题的 functions.php 里添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * 文章模板 single.php 获取当前文章所属的分类名称
 * https://www.wpdaxue.com/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;//得到当前文章所属分类的分类名称
}

/** * 文章模板 single.php 获取当前文章所属的分类名称 * https://www.wpdaxue.com/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;//得到当前文章所属分类的分类名称 }

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

1
<?php if(function_exists('get_post_category_id')) get_post_category_id(get_the_ID()); ?>

<?php if(function_exists('get_post_category_id')) get_post_category_id(get_the_ID()); ?>

本文文章模板 single.php 获取当前文章所属的分类名称到此结束。擁有理想只是一種智力,實現理想才是一種能力!小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
想要搭建一个WordPress网站需要安装php环境吗?

如何通过phpMyAdmin更换WordPress主题?

如何关闭和打开WordPress站点中的PHP错误?

WordPress如何通过phpMyAdmin批量删除整个站点的评论内容?

如何创建phpinfo文件并查看PHP信息