WordPressの投稿の本文を取得する関数the_contentを使いこなしましょう
投稿の本文データ
本文データはWordpressのpostテーブル、post_contentカラムに格納されています。
この値を直接取得、もしくは出力取得するには、
// 投稿の特定のフィールドにアクセス echo get_post_field( 'post_content', get_the_ID() );
もしくは、
// postオブジェクトにアクセス global $post; // post_content値を取得 echo $post->post_content;
です。
これが最もシンプルな本文のアクセスです。
実際のthe_content()との間には、いろいろと違いがあります。
get_the_content()
この関数は、メインループの中でしか使うことができません。関数内で、global変数を参照しているため、メインループ内で値が設定される$pageなどのglobal変数に完全に依存するからです。
get_the_contentはその関数内で、投稿本文のデータに以下を実行します。
- <!– more –>を作用させる
- パスワード保護コンテンツのために、パスワード入力フォームを挿入する
the_content()
get_the_contentから取得したテキストに以下を実行します。
- the_contentフィルターを通す
- ショートコードを動作させる
- wpautopを通す
- それ以外のthe_contentフィルター
- 出力する
$post->post_content
もっとも単純な本文アクセスです。
get_post()などで取得した投稿オブジェクトは、これを使うことが多いでしょう。
the_contentとの差分を埋めるため、手動でフィルターを通したりもします。
apply_filters( 'the_content', $post->post_content );