Wordpress:获取当前存档或自定义帖子类型的条款

时间:2015-01-21 18:18:04

标签: wordpress filter custom-post-type taxonomy

我正在尝试为我的Custom-Post-Type-Pages,Archives和Term-Pages编写一些Taxonomy-Filter。因此,我试图找出当前页面上使用的分类法。

例如:http://www.domain.de/taxonomy或自定义帖子类型的归档,如http://www.domain.de/portfolio

示例:我使用自定义后期类型构建投资组合页面。我给了这个分类“技能”和“类别”。在page-portfolio.php和archive-portfolio.php上会有一个带有“技能”和“类别”条款的过滤器。

$terms = get_the_terms($post->id, 'TAXONOMY_NAME');不适合,因为,过滤器应适合许多未知的Taxonomy和Custom-post-types。此外,没有固定的分类法名称。

        $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
        $incname = $term->taxonomy;
        $args = array( 'hide_empty=0' );
        $terms = get_terms( $incname, $args );

        if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
            //do spomething
            else {
            //do spomething
            }
        }

上述代码仅适用,如果当前页面已经是术语页面(http://www.domain.de/taxonomy/term

        $term = $wp_query->queried_object;
        $taxonomy = $term->taxonomy;
        $terms = get_terms($taxonomy);

        if ( ! empty( $terms ) && ! is_wp_error( $terms ) ) {
            //do spomething
            else {
            //do spomething
            }
        }

上述代码仅适用,如果当前页面已经是术语页面(http://www.domain.de/taxonomy/term

如何获得当前后期类型的分类法和(子)项?

1 个答案:

答案 0 :(得分:0)

您是否看过wp_get_post_terms()?(http://codex.wordpress.org/Function_Reference/wp_get_post_terms

根据您的描述,它看起来应该为您提供所需的条款。

HTH!

= C =