すいません、追加です。
今のところ「最新の投稿に別スタイルを」の記事を参考に頑張ってます。
よいアドバイス、他のアイディア等、いただけると嬉しいです。
ベタですけど。
<?php
$first = true;
if(have_posts()):
while(have_posts()):
the_post();
?>
<h2>タイトル関係がここにきて</h2>
<?php
if($first){
$first = false;
the_content();
}
else
the_excerpt();
endwhile;
endif;
?>
kzさん、お返事ありがとうございます!
教えていただいた方法でも表題の件、うまく表示されました。
ただ、個々の投稿記事について装飾用のdivで囲み、さらに投稿日時やコメント数、カテゴリ数を表示させたいと思ってます。
個々の投稿記事についてこのような感じを目指してます↓
<div class=”waku”>
<h2>タイトル関係</h2>
<p>本文~</p>
<p>投稿日時 | カテゴリ | コメント数</p>
</div>
「最新の投稿に別スタイルを・・・」の方法であれば、<?php $count++; ?>や<?php if($count == 1) : ?>などがバラバラ(?・・・なんと表現していいのか分かりません・・・)なので、divや投稿日時表示タグを必要な位置に入れることができ、うまく表示させることができました。
教えていただいた方法の場合、divや投稿日時表示タグをどこに&どうやって入れてよいのか分かりませんでした。
お時間が許すようであれば、アドバイスをいただければ嬉しいです。どうぞよろしくお願いします。
<?php
if($first){ // $firstの内容を見て分岐しています。$firstの中身は事前にtrueに設定されているのでtrueになります。
$first = false; // ここで最初の記事を表示したことを$firstに設定しています。次回上記ifに戻ってきた場合falseになっているので2回目以降にこのコードは実行されません。
the_content(); // 全文を表示します。詳しくはcodexを確認しましょう。この前後にタグを追記すればdivなどで囲むこともできます。
}
else // 2回目以降の実行コードです。上記1回目のループで$firstがfalseになるので2回目以降はこちらが実行されます。
the_excerpt(); // 抜粋を表示します。詳しくはcodexで。同じくこの前後にタグを追記で装飾できます。
endwhile;
endif;
?>
こんな感じでいかがですか?
shokun0803さん、さっそくのお返事ありがとうございます!
早速試してみます!・・・自分のスキルでできるかな・・・(ちょっと不安)
早速試してみます!・・・自分のスキルでできるかな・・・(ちょっと不安)
このくらいができるようになるとテーマの改造など一気に楽しくなります;)
全てを教えてもらうのではなく、トライ&エラーの繰り返しが上達への道です。がんばってください!
分からなくなったらいつでも質問をどうそ。
いつもお世話になっております。失敗です。
記事1件ごとに枠(div class=”waku”)で囲むとして・・・下記のようにやってました。
いろんなとこにdivの閉じタグを入れてみました・・・真っ白になって失敗です!「この前後にタグを追記」のあたりにそのままタグを書いてしまったのですが・・・そのまま書いてはだめでしたでしょうか?
<?php
$first = true;
if(have_posts()):
while(have_posts()):★ループが始まって
the_post();
?>
<div class=”waku”>★divの始まりがここで
<h2>タイトル関係がここにきて</h2>
<?php
if($first){
$first = false;
the_content();★この辺に閉じタグ?
}
else
the_excerpt();★この辺も閉じタグ?
endwhile;
endif;
?>
すいません、お時間が許すならヒントをいただけないでしょうか。
いろんなとこにdivの閉じタグを入れて
ブロックの始まりと終わりを落ち着いて考えるとどこに何を入れるべきかわかりやすいです。
<div class="waku">
<h2>1件目のタイトル</h2>
<div class="entry firtst">
1件目の記事の本文
</div>
</div>
<div class="waku">
<h2>2件目のタイトル</h2>
<div class="entry">
2件目の記事の抜粋
</div>
</div>
:
となってほしいので
<?php
$first = true;
if(have_posts()):
while(have_posts()):★ループが始まって
the_post();
?><div class="waku">★divの始まりがここで
<h2><?php the_title(); ?></h2>
<?php
if($first){
$first = false;
?><div class="entry first"><?php
the_content();
?></div><?php
}
else
?><div class="entry"><?php
the_excerpt();★この辺も閉じタグ?
?></div><?php
endif;
?></div><?php
endwhile;
endif;
?>
Kzさん、書き込みありがとうございます!出来ました、出来ました!
<?php
}
else
?>
この部分思いっきり間違ってました、というよりスキルがなくて勘違いしてました。
ありがとうございます!これで、「最新の投稿に別スタイルを・・・」の方法とあわせて2つの書き方が出来るようになりました~。
この部分思いっきり間違ってました、というよりスキルがなくて勘違いしてました。
ちなみに上のコードと同じものを別の書き方で書くと、以下のようになります。ご参考まで。
<?php
$first = true;
if(have_posts()){
while(have_posts()){ //★ループが始まって
the_post();
echo '<div class="waku"><h2>' . get_the_title() . '</h2>'; //★divの始まり
if($first){
$first = false;
echo '<div class="entry first">' . get_the_content() . '</div>';
}else{
echo '<div class="entry">' . get_the_excerpt() . '</div>'; //★この辺も閉じタグ?
}
echo '</div>';
}
}
?>
「最新の投稿に別スタイルを・・・」の方法とあわせて2つの書き方が出来るようになりました~。
「最新の投稿に別スタイルを・・・」の方法だと、1件目だけでなく、例えば4件目だけ表示を変えたいときにも使えますし、コードを眺めつつ、いろいろ研究してみてください。スマートにしようと思えばできなくもないですが、わかりやすさとの兼ね合いもありますので。
kurosquareさん、書き込みありがとうございます。こちらもできました!
いろんな書き方があるんですね!大変勉強になります。
どれも難しいですね・・・恥ずかしながら「$」と「echo」がでてくるとすごく難しそうで、なんだかドキドキします。ありがとうございました!