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

先日、WordPressのユーザーコミュニティである『WordBench』にて「ループ」をテーマにした約4時間のハンズオンセミナーを行いました。4時間、ループのことしかやらない勉強会はWordBenchでも異色だと思うのですが、参加された方の感想はおおむね好評だったようです。公式ドキュメントのCodex日本語版の「The Loop」の項未翻訳というのも理由の一つかもしれません。
[2017.3.11追記 日本語訳されてました!]

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

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

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

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

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

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

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