Вывод заголовка таксономии Wordpress

Я пытаюсь вывести заголовок страницы таксономии при его просмотре.

Так что, если бы я был на странице "тег", я бы пошел:

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

но как бы я достичь того же, если пользователь просматривает определенную страницу таксономии?

is_taxonomy() не существует.

5 ответов


нашел этот ответ для всех, кому интересно.

следуйте этому руководству: 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; ?>

можно сделать superdupereasy с:

<?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.php, single-products.php и имеют большое удовольствие с ним. :)


вот полный пример, который изменяет заголовок только для страниц списка таксономии, используя функцию 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>

можно использовать single_term_title ()


Я думаю, что достаточно легко использовать функцию single_cat_title ().

посмотреть здесь для получения более подробной информации.