请问wordpress中如何获取自定义post_type的分类

WBOY
发布: 2016-06-06 20:39:38
原创
1060 人浏览过

我再wordpress 自定义的post type中想要获取当前文章的分类。分类也是自己用register_taxonomy来自定义的。

<code><div class="cell-home">
<?php query_posts(array( 'post_type' => 'wcp_employees' ));?>
  <?php if ( have_posts() ) : ?>
   <?php query_posts(array( 'post_type' => 'wcp_employees' )); ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <dl>
            <dt style="background-image:url(<?php bloginfo('stylesheet_directory'); ?>/images/employees/01.jpg);">
                <div class="title"><?php the_category(', ');  ?></div>
            </dt>
            <dd style="display:block;">
                <div class="txt-content">
                    <h3><?php the_title(); ?></h3>
                    <p><img class="thumb" src="<?php bloginfo('stylesheet_directory'); ?>/images/employees/04.jpg"></p>
                    <p><?=get_post_excerpt()?></p>
                    <p class="tr"><a href="<?php the_permalink(); ?>" class="btn-more">More</a></p>
                </div>
            </dd>
        </dl>
    <?php ;endwhile; twentyfourteen_paging_nav();?>
    <?php else : ?>
    <?php endif; ?>
</div>
</code>
登录后复制
登录后复制

这里我也用了query_posts 来指定自己的分类,但是分类还是现实不出来。

回复内容:

我再wordpress 自定义的post type中想要获取当前文章的分类。分类也是自己用register_taxonomy来自定义的。

<code><div class="cell-home">
<?php query_posts(array( 'post_type' => 'wcp_employees' ));?>
  <?php if ( have_posts() ) : ?>
   <?php query_posts(array( 'post_type' => 'wcp_employees' )); ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <dl>
            <dt style="background-image:url(<?php bloginfo('stylesheet_directory'); ?>/images/employees/01.jpg);">
                <div class="title"><?php the_category(', ');  ?></div>
            </dt>
            <dd style="display:block;">
                <div class="txt-content">
                    <h3><?php the_title(); ?></h3>
                    <p><img class="thumb" src="<?php bloginfo('stylesheet_directory'); ?>/images/employees/04.jpg"></p>
                    <p><?=get_post_excerpt()?></p>
                    <p class="tr"><a href="<?php the_permalink(); ?>" class="btn-more">More</a></p>
                </div>
            </dd>
        </dl>
    <?php ;endwhile; twentyfourteen_paging_nav();?>
    <?php else : ?>
    <?php endif; ?>
</div>
</code>
登录后复制
登录后复制

这里我也用了query_posts 来指定自己的分类,但是分类还是现实不出来。

找到方法了,用这个function

<code>function custom_taxonomies_terms_links(){
    //根据当前文章ID获取文章信息
    $post = get_post( $post->ID );

    //获取当前文章的文章类型
    $post_type = $post->post_type;

    //获取文章所在的自定义分类法
    $taxonomies = get_object_taxonomies( $post_type, 'objects' );

    $out = array();
    foreach ( $taxonomies as $taxonomy_slug => $taxonomy ){
        $term_list = wp_get_post_terms($post->ID, $taxonomy_slug, array("fields" => "all"));
        echo $term_list[0]->name; //显示文章所处的分类中的第一个
    }

    return implode('', $out );
}
</code>
登录后复制

<code>/**
 *获取分类
 **/
function deel_category(){
    $tag_arr = get_the_category();
    foreach($tag_arr as $value){
        if(!empty($value)){
            echo '<a data-bear="main" href='.get_term_link($value->slug,$value->taxonomy).'>'.$value->name.'<a>';
        }
    }
}
</code>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板