wordpress教程之文章页single.php获取当前文章所属分类

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

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

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

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

/**

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

 * http://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;//得到当前文章所属分类的分类名称

}

 

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

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

 

你可能感兴趣的:(wordpress)