wordpressのテンプレートタグの書き方で困っています。


記事のページ(single.php)で特定のカテゴリーに属している記事ページに日付を表示させたい。
もしくは、特定のカテゴリーに属している記事ページの日付を消したい。


<?php the_date(); ?>このタグをsingle.phpに書くとすべての記事に日付が表示されますが
カテゴリーA の記事には日付を表示して
カテゴリーB の記事には日付を消したい

このような仕様にしたいのですが、どのように書けばよいか分かりません。教えてもらえないでしょうか
いろいろと調べたのですがよく分かりませんでした。
どうぞよろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/06/16 09:11:45
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:hirorock No.1

回答回数9ベストアンサー獲得回数0

ポイント25pt

if(is_category('[CATEGORY_A]')){

the_date();

}else{

// the_dateをしない

}

?>

でどうでしょうか??

http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/is_category

id:coyo

<?php if(is_category('news')){

the_date();

}else{

// the_dateをしない

}

?>


<?php if(is_category('6')){

the_date();

}else{

// the_dateをしない

}

?>

このように2通り試しましたが、うまく表示されませんでした。

・single.phpのループ内に記入

・カテゴリー名はnews

・カテゴリーIDは6

2011/06/15 23:17:24
id:windofjuly No.2

回答回数2625ベストアンサー獲得回数1149

ポイント75pt

試してないですが、、、下記のような具合にして取れませんか?

 

三項演算子を使ってカテゴリーAならば日付を表示して、それ以外は表示しないようにする

<?php echo (single_cat_title() = "カテゴリーA" ? the_date() : '') ; ?>

IFを使って以下同文

<?php if(single_cat_title() = "カテゴリーA") echo the_date(); ?>

 

追記:

ごめんなさい

single_cat_title() ではなくて the_category() ですよね。多分

http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_category

 

追記その2:

ごめんなさい その2

比較なので = ではなく == です

id:coyo

<?php if(the_category() = "news") echo the_date(); ?>

<?php if(the_category() = "6") echo the_date(); ?>

<?php echo (the_category() = "news" ? the_date() : '') ; ?>

<?php echo (the_category() = "6" ? the_date() : '') ; ?>

試しましたがうまく表示されませんでした。

カテゴリーやIDの指定方法が違うのでしょうか?

2011/06/15 23:26:14
  • id:coyo
    回答いただきました皆様ありがとうございました。
    何とか解決できました。
    in_categoryでうまく動きました。

    <?php if ( in_category('news') ): ?>
    <div class="date clearfix"><?php the_date(); ?></div>
    <?php endif; ?>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません