web-dev-qa-db-ja.com

カテゴリとアーカイブのタイトルを取得する方法

カテゴリ(category.php)を問い合わせるとき、現在のカテゴリ、すなわち問い合わせ中のカテゴリのタイトルをどうやって取得するのですか?

そしてどのようにしてtagとdateのタイトル(日、月、年のどちらでも)を取得できますか?

6
Iacchus

カテゴリの場合はsingle_cat_title関数を使います。
http://codex.wordpress.org/Function_Reference/single_cat_title

タグにはsingle_tag_title関数を使います。
http://codex.wordpress.org/Function_Reference/single_tag_title

日付にはget_the_date関数を使います。
http://codex.wordpress.org/Function_Reference/get_the_date

たとえば、20個のテーマを開くと、次のようになります。

category.php:

<h1 class="page-title"><?php
    printf( __( 'Category Archives: %s', 'twentyten' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?></h1>

date.php:

<h1 class="page-title">
    <?php if ( is_day() ) : ?>
        <?php printf( __( 'Daily Archives: <span>%s</span>', 'twentyten' ), get_the_date() ); ?>
    <?php elseif ( is_month() ) : ?>
        <?php printf( __( 'Monthly Archives: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'twentyten' ) ) ); ?>
    <?php elseif ( is_year() ) : ?>
        <?php printf( __( 'Yearly Archives: <span>%s</span>', 'twentyten' ), get_the_date( _x( 'Y', 'yearly archives date format', 'twentyten' ) ) ); ?>
    <?php else : ?>
        <?php _e( 'Blog Archives', 'twentyten' ); ?>
    <?php endif; ?>
</h1>
9
Eugene Manuilov

他の答えに加えて、表示するsingle_term_title('Currently browsing: ') '現在のブラウズ用語' (termは表示している分類用語の名前です。( Codexを参照

これは、カスタム分類法、カテゴリおよびタグの用語に対して有効です。

また、分類法とアーカイブを処理する wp_title を使用する方が簡単で、表示内容に応じて適切なタイトルを表示することもできます。これは基本的に、タイトルを表示するために使用可能なすべての機能を切り替えるので、 ソースコード を見てみるとよいでしょう。その他のもの:

3
Stephen Harris

以下を試してください

<?php single_cat_title(); ?>
<?php single_tag_title(); ?>
<?php the_time('F jS, Y'); ?> // day, month, year
<?php the_time('F, Y'); ?> // month, year
<?php the_time('Y'); ?> // year

日付の書式設定の詳細については、Codexを参照してください。 _ here _

PS。これらはループ内で呼び出されます。 ループの外側になければならない最初の2つの を除いて。

1
userabuser

ご回答ありがとうございます。私はこれをデートにしました:

archive.php

<?php
/*get archives header*/
if ( is_day() ) { $this_header = "Daily archives for " . get_the_date(); }
else if ( is_month() ){ $this_header = "Monthly archives for " . get_the_date('F, Y'); }
else if ( is_year() ){ $this_header = "Yearly archives for " . get_the_date('Y'); }
else { $this_header = "Archives"; }
?>

それからちょうど

<?php echo $this_header; >
1
Iacchus

これはおそらくあなたが今必要としている以上のものですが、おそらくあなたのテーマの他の分野で必要となるものでしょう。

このコードは現在の投稿のカテゴリ名を取得し、それをcategory.phpファイルを介してカテゴリにリストされている投稿へのリンクとして表示します。

<?php
$category = get_the_category();
$current_category = $category[0];
$parent_category = $current_category->category_parent;
if ( $parent_category != 0 ) {
echo '<a href="' . get_category_link($parent_category) . '">' . get_cat_name($parent_category) . '</a>';
}
echo '<a href="' . get_category_link($current_category) . '">' . $current_category->cat_name . '</a>';
?>
1
Travis Pflanz