どうも、イソップ(@Yuhiisk)です。
記事の本文を出力する `the_content` メソッドですが、
あれー?? `the_title()` は出力されてるのに、 なんで `the_content()` は表示されてないんだ!?
という事態に遭遇してしまいました。
原因がわからずちょっと悩んでしまったので、本日は解決策をば。
キミィ、the_contentはループの中で動作するのだよ
こういうの見たことありませんか?
“`
“`
`the_content()` は、上記のようなループの中で呼び出されなければいけません。
公式ドキュメントにもしっかり書いてありますね。
現在の投稿の本文を出力します。 このテンプレートタグはループの中で使わなければなりません。
テンプレートタグ/the content – WordPress Codex 日本語版
で、ぼくの場合はループの中で実行していなかったので、出力されなかったのです。
そして、あわせて大事なのが `the_post()` メソッド。
ループ処理を次に進めるためのメソッドです。
そして `the_post()` はループの中かどうかをWordPressに教えます。
つまり、ループの中で `the_post()` メソッドの実行が必要ということなんですね。
なので、`the_title` や `the_content` は、
`the_post()` とセットで使わなければ上手く表示してくれなかったのです。
関数リファレンス/the post – WordPress Codex 日本語版
凡ミスには気をつけましょう
というわけで、今回はぼくの凡ミスだったというお話でした。
言い訳するつもりじゃないけど、ちょっと書かないと忘れてしまいますね……これは。
もし `the_content()` が表示されないときは、
ループの中かどうか、`the_post()` が実行されているかどうかを確認してください。