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() ってそもそも何者?

WordPressのテーマを強制的にデフォルトに戻す方法

[2015.9.16追記]
久しぶりにこのスクリプトを使う事案が起きたので、最新のデフォルトテーマ(Twenty Fifteen)で試したところうまくいきました。

[2012.10.22追記]
WordPressの関数 update_option() を使う、よりすっきりしたコードを追記しました

[2012.10.29追記]
「WordPressアドレス(URL)」と 「サイトアドレス (URL)」をデフォルトに戻す方法もまとめました。

テーマをいろいろ切り替えて遊んでいるうち、うっかりバギーなテーマを掴んでどうにもならなくなったときにデフォルト(記事執筆時点では『Twenty Eleven』)に戻すスクリプトを紹介します。当初は、データベースを直接操作する方法を載せようと思ったのですが、汎用性を高めるためにPHPスクリプトにしてしまいました。

続きを読む WordPressのテーマを強制的にデフォルトに戻す方法