分類ページを表示するときに、そのタイトルを出力しようとしています。
たとえば、「タグ」ページにいた場合は、次のように移動します。
<?php if (is_tag()) {?>
<h1><?php single_cat_title(); ?></h1>
<?php } ?>
しかし、ユーザーが特定の分類ページを表示している場合、どうすれば同じことを達成できるでしょうか?
is_taxonomy()
存在しません。
疑問に思っている他の人のために、この答えを見つけました。
このガイドに従ってください: 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; ?>
次の方法で超簡単に実行できます。
<?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() 関数を使用するのは簡単だと思います。
詳しくはこちらをご覧ください。