WEB制作のための情報サイト / unazuki Library

the_content()

基本構文と使い方(引数・戻り値)

記事本文を表示します。moreタグ(続きを読むタグ)を使っている場合は、引数の指定次第で記事の一部を表示します。

基本構文

the_content($more_link_text,$strip_teaser)

引数

記事詳細ページ(single.phpなど)で使う場合で、シンプルに記事本文を全文表示したい場合は引数を指定しません。記事一覧ページ(archive.php、category.phpなど)でmoreタグを使って抜粋文を表示したい場合は、該当箇所にthe_content()を使うことができます。
※抜粋文はthe_excerpt()でも表示可能です(一般的によく見かける方法)

引数必須/任意引数に指定するもの
第1引数
$more_link_text
任意moreタグ利用時の「続きを読む」に該当する文字列を指定。
初期値null(デフォルトの文字列「さらに⋯」を表示)
※記事編集画面でmoreタグ(記事一覧ページにて「続きを読む」を挿入する機能)を使っている場合に、「続きを読む」に該当する文字列を任意にカスタマイズする。これは記事詳細ページ(single.phpなど)では無視されます。記事一覧ページで抜粋文を表示させたい場合に役立ちます。
なお、抜粋文を表示するthe_excerpt()を使うこともできます。(the_excerpt()は抜粋文字数が固定されます。記事ごとに任意の位置まで抜粋したい場合は、moreタグを使います)
第2引数
$strip_teaser
任意ページを分割するかどうかを真偽値で指定。trueなら分割する、falseなら分割しない。
初期値false
※記事詳細ページ(single.phpなど)でthe_content()を使って本文を読み出す際に、trueにすると、moreタグ以前の本文は表示されません。記事全文を表示したい場合は初期値falseのまま(引数は指定しない)にしておきます。

実行結果

記事本文を表示します。

例1.記事を全文表示する(single.php)

single.phpに使う場合、引数を指定しなければ記事全文を表示します。

the_content();

例2.記事一覧ページ(archive.phpなど)で抜粋文を表示する

archive.phpのような一覧ページでこのコードを使った場合、記事編集画面でmoreタグを指定した位置までの抜粋文を表示します。moreタグを指定しなければ全文表示されます。なお、moreタグはsingle.phpでは無視されます。下記例では、記事一覧ページにmoreタグで指定した位置までの抜粋文を表示した後、「続きはこちら」を表示します。
※記事ごとに抜粋分を指定する意図がなければthe_excerpt()が良いでしょう。

the_content('続きはこちら');

例3.記事の続きだけを表示する(single.php)

single.phpでこのコードを使う際に、第2引数でtrueを指定すれば、moreタグで指定した位置以降の続きの部分のみが表示されます。

the_content('',true);

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

参考コード

下記コードはsingle.phpで記事の公開日、タイトル、本文を表示するコード例です。

<div class="article">
	<?php if (have_posts()) : ?>
		<?php while (have_posts()) : the_post(); ?>
			<div class="article__date"><?php echo get_the_date() ?></div>
			<div class="article__heading"><?php the_title() ?></div>
			<div class="article__content"><?php the_content(); ?></div>
		<?php endwhile; ?>
	<?php endif; ?>
</div>

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
post_class() 投稿に関するclass名を表示する。
the_author() 現在の記事の投稿者の名前を表示します。
get_the_author() 現在の記事の投稿者の名前を返します。
the_ID() 現在の記事のIDを表示します。
get_the_ID() 現在の記事のIDを取得します。
get_post_meta() カスタムフィールドの値を取得します。
the_permalink() 記事のパーマリンク(URL)を表示します。
get_permalink() 記事のパーマリンク(URL)を表示します。
the_post_thumbnail() 記事にアイキャッチ画像がある場合は、アイキャッチ画像を表示する。
get_the_post_thumbnail() 記事にアイキャッチ画像がある場合は、アイキャッチ画像を含むimg要素を返す。
has_post_thumbnail() 投稿にアイキャッチ画像があるかないかを判定した結果、真偽値(true / false)を返す。
get_the_content() 記事本文のHTMLを取得します。moreタグ(続きを読むタグ)を使っている場合は、引数の指定次第で記事の一部を取得します。
the_excerpt() 記事の抜粋分を表示します。抜粋の長さはデフォルトで110文字(日本語)。
get_the_excerpt() 記事の抜粋分を取得します。抜粋の長さはデフォルトで110文字(日本語)。
the_time() 記事の公開時刻を表示します。
get_the_time() 記事の公開時刻を取得します。
the_date() 現在の記事(投稿や固定ページ)の公開日を表示します。
get_the_date() 記事(投稿や固定ページ)の公開日を取得する。
the_title() 記事のタイトルを表示します。
get_the_title() 記事のタイトルを取得します。