7

我正在尝试在查看分类页面时输出它的标题。

就像,如果我在“标签”页面上,我会去:

<?php if (is_tag()) {?>
    <h1><?php single_cat_title(); ?></h1>
<?php } ?>

但是,如果用户正在查看特定的分类页面,我将如何实现相同的目标?

is_taxonomy()不存在。

4

5 回答 5

9

为其他想知道的人找到了这个答案。

遵循本指南:http: //justintadlock.com/archives/2009/06/04/using-custom-taxonomies-to-create-a-movie-database

在底部,想要的行是:

<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?>
于 2010-05-10T20:25:57.270 回答
7

可以通过以下方式完成超级简单:

<?php echo get_queried_object()->name; //output $taxonomy->$tax the simple way ?>

name,当在一些自定义分类页面上蜜蜂时,将是分类术语。例如,在类似的东西上example.com/books/Fiction,这将呼应fiction

而不是name你也可以使用taxonomy,这将回显books

简而言之,分类不是类别或页面或评论,它们是您声明的东西,例如“产品”或“书籍”。使用它可以解锁 WordPress 的自定义帖子类型功能。您可以制作自己的archive-products.php, page-products.phpsingle-products.php并从中获得极大的乐趣。:)

于 2011-11-26T13:41:28.270 回答
1

这是一个完整的例子,它只修改分类列表页面的标题,使用函数is_tax()

<title><?php
  global $page, $paged, $post;
  if (is_tax()) {
    $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) );
    $term_title = $term->name;
    echo "$term_title | ";
  } else {
    wp_title( '|', true, 'right' );
  }

  // Add the blog name.
  bloginfo( 'name' );

  // Add the blog description for the home/front page.
  $site_description = get_bloginfo( 'description', 'display' );
  if ( $site_description && ( is_home() || is_front_page() ) )
    echo " | $site_description";

  // Add a page number if necessary:
  if ( $paged >= 2 || $page >= 2 )
    echo ' | ' . sprintf( __( 'Page %s', 'twentyten' ), max( $paged, $page ) );

  ?></title>
于 2011-03-24T17:02:49.150 回答
1

您可以使用single_term_title()函数。

于 2013-02-20T08:53:55.830 回答
0

我认为使用 single_cat_title() 函数很容易。

有关更多详细信息,请参见此处

于 2015-08-24T02:20:58.343 回答