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

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

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

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

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

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

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