PHPを独学するなら、Udemyの動画講座で
PHP 7も使えて快適な エックスサーバー

WordPressテーマで個別記事のテンプレートはsingle.phpです。ところが、個別記事のレイアウトをカスタマイズしようと思ってsingle.phpを開いても、記事本文を表示するthe_content関数が実行されていない場合があります。

その場合、個別記事のタイトルや本文などのレイアウトがcontent.phpなどに切り離されていることが考えられます。

たとえば、Twenty Fifteenのsingle.phpには次のように記述されています。

get_template_part( 'content', get_post_format() );

これにより、投稿フォーマットごとに違うレイアウト(content-投稿フォーマット.php)を適用できるようになります。デフォルトの標準フォーマットの場合はcontent.phpが使われます。

実際にcontent.phpを開いてみると、記事のタイトルを表示するthe_title関数や本文を表示するthe_content関数が実行されているのを確認できます。

つまり、個別記事のタイトルや本文をsingle.phpに書かず、content.phpに切り離しておいてget_template_partで読み込むという仕組みです。

ただし、content.phpは個別記事のsingle.phpだけで使われるとは限らず、アーカイブテンプレートのarchive.phpなどからも呼び出されている場合があります。

その場合、content.phpには単純に個別記事のレイアウトが書かれているのではなく、「もしも個別記事ならA、アーカイブではB」のようにページごとに別々のレイアウトが定義されています。

典型的な例として、記事タイトルに付けるタグは個別記事ではh1、アーカイブではh2のように別々のタグになるのが定番なので、次のような分岐がよく見られます。

if ( is_single() ) :
    the_title( '<h1 class="entry-title">', '</h1>' );
else :
    the_title( sprintf( '<h2 class="entry-title">…略…);
endif;
is_singleは個別記事かどうか判別する関数です。

このように記事タイトルや本文のレイアウトをcontent.phpに切り離して使った方が何かと効率的にテンプレートを管理できるので、個別記事テンプレートのsingle.phpにはタイトルのthe_titleや本文のthe_contentが書かれていないことがあります。

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

PHP関数

WordPress

エラーメッセージ

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク