get_the_content, the_contentで、本文出力を使いこなす

最終更新:2017-05-05 by Joe

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 );