こんにちは、阿久梨絵です!
WordPress の single.php は、ブログ記事など「投稿タイプ=post」の個別ページを表示するテンプレートファイルです。
読者が記事をクリックしたときに表示されるページで、タイトル・本文・投稿日・アイキャッチ画像・カテゴリなどが含まれます。
このテンプレートには、 WordPress 独自の関数が多数登場します。今回はその中でもよく使われる関数を初心者向けに解説します。
よく使われる関数一覧と解説
| 関数名 | 役割 | 解説 |
|---|---|---|
| get_header() | ヘッダーを読み込む | header.php を呼び出して、共通のヘッダー部分を表示します。 |
| have_posts() / the_post() | 投稿データの有無と取得 | WordPressのループ処理。記事が存在するか確認し、データを取得します。 |
| the_title() | 記事タイトルを表示 | 投稿のタイトルを <h1> や <h2> などで表示します。 |
| the_content() | 記事本文を表示 | 管理画面で入力した本文をそのまま表示します。 |
| the_time() / the_modified_date() | 投稿日・更新日を表示 | 記事の公開日や最終更新日を表示できます。 |
| get_the_category() | カテゴリ情報を取得 | 投稿に紐づくカテゴリ名を取得し、表示できます。 |
| the_post_thumbnail() | アイキャッチ画像を表示 | 投稿に設定されたサムネイル画像を表示します。 |
| previous_post_link() / next_post_link() | 前後の記事リンクを表示 | 「前の記事へ」「次の記事へ」など、ページ遷移リンクを生成します。 |
| get_sidebar() | サイドバーを読み込む | sidebar.php を呼び出して、ウィジェットなどを表示します。 |
| get_footer() | フッターを読み込む | footer.php を呼び出して、共通のフッター部分を表示します。 |
コード例:single.phpの基本構成
以下表記上、半角<は、全角<で記載しています。
<?php get_header(); ?>
<main>
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<article>
<h1><?php the_title(); ?></h1>
<p><?php the_time(‘Y/m/d’); ?> | カテゴリ:
<?php
$cat = get_the_category();
echo $cat[0]->cat_name;
?>
</p>
<?php the_post_thumbnail(); ?>
<div><?php the_content(); ?></div>
</article>
<nav class=”post-navigation”>
<div><?php previous_post_link(‘%link’, ‘← 前の記事’); ?></div>
<div><?php next_post_link(‘%link’, ‘次の記事 →’); ?></div>
</nav>
<?php endwhile; endif; ?>
</main>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
安心してカスタマイズするために
初心者が single.php を編集する際は、以下のポイントを意識すると安心です。
・have_posts() → the_post() の順でループ処理を行うこと
・the_content() はブロックエディタの内容も正しく表示される
・previous_post_link() や next_post_link() は、前後の記事が存在しない場合も出力されるため、get_previous_post() などで条件分岐するとより丁寧
まとめ
single.php は、読者が最も長く滞在する「記事ページ」を担う重要なテンプレートです。
登場する関数は一見複雑に見えますが、役割を理解すれば納得感を持ってカスタマイズできます。
安心して編集できるよう、構造化された知識を少しずつ積み重ねていきましょう。
阿久梨絵でした!
