Get all categories of a custom post type

2019-02-27 01:02发布

I am trying to get all categories of a custom post type.I am using get_the_category(); function to retrieve the categories.But if i have 3 posts with 1 category the category is repeated 3 times :o .

My codes are

<?php 
    query_posts( array( 'post_type' => 'member', 'showposts' => 8 ) );
    if ( have_posts() ) : while ( have_posts() ) : the_post();
        $categories = get_the_category();
            foreach ( $categories as $category ) { 
        echo $category->name, ' '; 
    }             
?>
<?php endwhile; endif; wp_reset_query(); ?>

Is there any solutions??

3条回答
来,给爷笑一个
2楼-- · 2019-02-27 01:41

You're looping through posts, did you try this?

<?php
wp_list_categories( array(
    'taxonomy' => 'category', // CHANGE HERE TO YOUR TAXONOMY
) );
?>

More info here: https://developer.wordpress.org/reference/functions/wp_list_categories/

查看更多
再贱就再见
3楼-- · 2019-02-27 01:45

Try this way get only category of custom post

<?php 

$category = get_terms('category');//custom category name 

foreach ($category as $catVal) {
    echo '<h2>'.$catVal->name.'</h2>'; 
 }
?>
查看更多
虎瘦雄心在
4楼-- · 2019-02-27 01:49

you can find more info from Here REFERENCE FOR get_terms

<?php
$taxonomy = 'YOUR TEXONOMY NAME';
$terms = get_terms($taxonomy);

if ( $terms && !is_wp_error( $terms ) ) :
?>
    <ul>
        <?php foreach ( $terms as $term ) { ?>
            <li><a href="<?php echo get_term_link($term->slug, $taxonomy); ?>"><?php echo $term->name; ?></a></li>
        <?php } ?>
    </ul>
<?php endif;?>
查看更多
登录 后发表回答