こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

WordPressの任意のカテゴリを記事をトップページへ表示させる方法+α

ちょっと壁にぶつかりまして、質問させて頂きます。

「おすすめ」というカテゴリを作成し、それに属する記事たちを
トップページに表示させる、という話なのですが、

<h3 id="h-recommend">おすすめの記事</h3>
<?php $posts = get_posts('category_name=recommend');
foreach($posts as $post) :
setup_postdata($post); ?>
<h4><?php the_title(); ?></h4>
<p>記事本文</p>
<?php endforeach; ?>

と記述しました。試しに、記事を三つばかり
「おすすめ」カテゴリに設定して投稿したら、

<h3>おすすめの記事一覧</h3>
<h4>記事その(1)</h4>
<p>記事その(1)の本文</p>
<h4>記事その(2)</h4>
<p>記事その(2)の本文</p>
<h4>記事その(3)</h4>
<p>記事その(3)の本文</p>

という風になり、とりあえずの成功はしました。

この場合、<h4>たちに関しては、記事が0の時は当然何も表示されない
のですが、

<h3>だけ表示されている状態が不自然です。

今回、記事を投稿して初めて<h3>も含む記事全てが表示さる
ようにしたいと思っています。

但し、この時<h3>は繰り返しをしません。

「おすすめ」カテゴリに記事を投稿して初めて全てが発動する、
と言った感じにしたいです。

どのような記述方法を取ればよろしいでしょうか?

どなたかご教授頂ければ、非常に助かります。よろしくお願い致します。

投稿日時 - 2009-04-27 10:55:36

QNo.4912592

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ループの中でカウント取って、初回のみH3表示するようにすれば良いだけの事では?

<?php $posts = get_posts('category_name=recommend');
$cnt = 0;
foreach($posts as $post) :
setup_postdata($post);
$cnt = $cnt + 1;
if($cnt == 1){ ?>
<h3 id="h-recommend">おすすめの記事</h3>
<?php } ?>
<h4><?php the_title(); ?></h4>
<p>記事本文</p>
<?php endforeach; ?>

投稿日時 - 2009-04-27 12:01:00

お礼

skyfangさん

できました!すばやい対応、ありがとうございました!

>ループの中でカウント取って、初回のみH3表示するようにすれば良いだけの事では?

PHPも知らないまま、カスタマイズをしている
超初心者なので、これしきのことが分からない状態です。

とても恥ずかしく思いますが、これから勉強してモノに
して、回答する側に回れるようにします。

skyfangさんありがとうございました!

投稿日時 - 2009-04-27 14:58:46

あなたにオススメの質問