>①←ここは「?>」で閉じなくていいのですか?
閉じてもOKです。その場合は その後 if でPHPがはじまってますので
<?php if (get_next_post()):
としなければなりません。
②←ここに終了タグがありますが、これは3行上の「<?php」に対する終了タグですか?
この場合はそうなります。
③←なぜ、こちらの「endif;」には「?>」が必要なのでしょうか?
後にPHPが続くのであれば閉じなくても良いのですが、いずれは閉じなければなりません。
そもそもPHPファイルは <?php ?> の内側はPHP、外側はHTML(或いはただのテキスト)となるわけで、それがわかっていないので混乱してらっしゃるのかな、と思います。
例示されたコードのみだとPHPの外側で出力している箇所はないので、以下のように書くことも可能になります。
<?php
if (get_previous_post()):
previous_post_link('%link', '» %title');
endif;
if (get_next_post()):
next_post_link('%link', '« %title');
endif;
?>
taku_kさん、ありがとうございます!
なるほどです。
①の部分を閉じるなら、
<?php if (get_next_post()):で始める
というご説明でやっと意味がわかりました。
大変助かりました!
Ayustarさんありがとうございます。
こちらも大変参考になりました。
つまり、PHPのコードの中にHTMLのコードがないのであれば、開始タグ「<?php 」
と終了タグ「?>」で囲めば、PHPは動いてくれるということですね!
でも、ちょっと疑問です・・・。
Ayustarさんが書き直していただいた分はif文なので、1対の<?phpと?>で囲めばちゃんと動くということは理解できたのですが、このif文の後に別の文を入れた場合・・・こんな感じで↓
<?php
if (get_previous_post()):
previous_post_link('%link', '» %title');
endif;
if (get_next_post()):
next_post_link('%link', '« %title');
endif;
bloginfo('name');
?>
これでも動くのでしょうか?
自分で試してみろって感じですね・・・(苦笑)
すみません、試してみます。
ありがとうございます。