WordPressの the_post() ってそもそも何者?

WordPressのユーザーコミュニティである『WordBench』(2018年9月23日をもって終了 WordPress Meetup に移行しています)にて「ループ」をテーマにした約4時間のハンズオンセミナーを行いました。

4時間、ループのことしかやらない勉強会はWordBenchでも異色だと思うのですが、参加された方の感想はおおむね好評だったようです。公式ドキュメントのCodex日本語版の「The Loop」の項未翻訳というのも理由の一つかもしれません。
[2017.3.11追記 日本語訳されてました!]

さて、WordPressカスタマイズのキモともいえるこのループ。私もかつて解説本から学んだとおり、

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!-- 記事があるときの表示内容をここに書く --&gt;
<?php endwhile; else : ?>
<!-- 記事がないときの表示内容をここに書く --&gt;
<?php endif; ?>

てな感じでしゃしゃっと書いています。WordPressを始める前にMovableTypeをちょっとかじったこともあり、ループについて「あーそんなもんかー」という感覚で、疑問も抱かずやっていたのですね。

で、今回の勉強会をやるにあたって、はたと思ったのです。「if とか while が条件分岐ってのはわかるけど、この the_post() というのはそもそも何をしてるヤツなんだ?」と。

そう思ってググってみたものの the_post() に関する記事がほとんど見つからないという現実に直面。頼みのCodexも未翻訳状態で残念なことになっている。それならひとつ、学習をかねてやってみようじゃありませんか……ということでこの記事を書くことにしました。

WordPressコミュニティを運営してるくせに実はよくわかってない点も多々ありますので、そのあたりはバシバシつっこんでいただければ幸いに存じます。では始めていきましょう。

続きを読む WordPressの the_post() ってそもそも何者?