如果在术语页上->获取当前术语?

时间:2012-05-10 作者:mathiregister

我试图在“functions.php”中编写一种“breadcrumb”函数

我想查询我是否在学期页面上,如果是,我想打印我所处的当前学期。

我所说的“术语页”是指以下内容。我在标题中将自定义分类法(与自定义帖子类型关联)的所有术语作为类别列出。我用get_term_link($term->slug, \'my_taxonomy\');

在我的面包屑新功能中,我想查询我是否在这一页上并打印这个术语。

首先,我正在做这个…

if ( is_taxonomy_hierarchical(\'my_taxonomy) ) {
            echo "test";
但现在我的功能取决于此my_taxonomy 一串我很乐意为所有即将推出的分类法使用此函数。我该怎么做?有如下条件标记is_category() 这不需要任何参数。为什么所有术语或分类条件都需要这个参数?

如何打印当前学期的内容。现在我只是重复上面的“测试”,不过我想打印当前术语。

有什么想法吗?提前谢谢你。

UPDATE:

function list_breadcrumbs() {

    $q_object = get_queried_object();
    $taxonomy = $q_object->taxonomy;

    $seperator = " <span class=\'separator\'>&rang;</span> ";

    if ( !is_home() ) {

            echo "<a href=\'" . get_bloginfo(\'url\') . "\' title=\'Home\'>Home</a>" . $seperator;

        if ( is_category() ) {
            $category = get_the_category(); 
            echo "<span class=\'breadcrumb\'>" . $category[0]->cat_name . "</span>";
        } else if ( is_tax( $taxonomy ) ) {
            echo "The Term Name";
        } else if ( is_single() ) {
            …
        } else if ( is_page() ) {
            …

1 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

你会想要get_queried_object(). 这是一个非常通用的函数,只返回被查询的对象,所以一篇文章就是一个post对象。

例如,返回对象的形式可能是:

Object (
    [term_id] => 299
    [name] => test
    [slug] => test
    [term_group] => 0
    [term_taxonomy_id] => 317
    [taxonomy] => event-category
    [description] => 
    [parent] => 0
    [count] => 2
)
例如:

  $q_object = get_queried_object();
  if( isset($q_object->taxonomy) ){
     $taxonomy = $q_object->taxonomy;
  }else{
    //Not a taxonomy page
  }
要在函数中使用此选项,请执行以下操作:

function wpse51753_breadcrumbs(){
    if( !is_tax() && !is_tag() && !is_category() )
       return;

    //If we got this far we are on a taxonomy-term page
    // (or a tag-term or category-term page)
    $taxonomy = get_query_var( \'taxonomy\' );
    $queried_object = get_queried_object();
    $term_id =  (int) $queried_object->term_id;

    //Echo breadcrumbs
}
那就wpse51753_breadcrumbs(); 在模板中的任何位置显示面包屑。

结束

相关推荐

GET_TERMS没有为我的自定义分类返回任何结果吗?

如果我转到wp管理/编辑标签。php?taxonomy=位置然后我正确地看到了术语列表。如果我循环通过:get_terms(\"category\"); 然后,我正确地看到了类别分类的几个术语。我是否为同一个函数错误地创建了自定义分类法,而没有为我的分类法输出任何结果?get_terms(\"location\"); register_taxonomy(\'location\', \'post\', array( \'labels\' =>