概要
the_post
関数は、WordPressのループ内で投稿データをロードするための重要な関数です。主に次のような機能の実装によく使用されます:
- 投稿のタイトルやコンテンツを表示する
- 投稿のカスタムフィールドやメタデータを取得する
- 投稿の作成者名や日付を表示する
- カテゴリーやタグの情報を取得する
- サムネイル画像を表示する
- ペジネーション(ページ送り)を制御する
- カスタムテンプレートの条件分岐で使用する
- ループ内で複数の投稿を順に処理する
構文
void the_post();
パラメータ
- なし
戻り値
- なし。この関数は投稿データをグローバル
$post
オブジェクトに設定します。
関連する関数
WordPressのバージョン
- バージョン 1.5から利用可能
コアファイルのパス
wp-includes/template.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプル1: 投稿のタイトルとコンテンツを表示する
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<h2>' . get_the_title() . '</h2>';
the_content();
}
}
このサンプルコードでは、ループを使用してすべての投稿のタイトルと内容を表示します。
サンプル2: 投稿の作成者名を表示する
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<p>Written by: ' . get_the_author() . '</p>';
}
}
このサンプルは、各投稿の作成者名を表示します。
サンプル3: カテゴリーとタグを表示する
if (have_posts()) {
while (have_posts()) {
the_post();
echo '<p>Categories: ' . get_the_category_list(', ') . '</p>';
echo '<p>Tags: ' . get_the_tag_list('', ', ') . '</p>';
}
}
ここでは、記事に関連するカテゴリーとタグをリスト化して表示します。
サンプル4: サムネイル画像を表示する
if (have_posts()) {
while (have_posts()) {
the_post();
if (has_post_thumbnail()) {
the_post_thumbnail('thumbnail');
}
}
}
このコードは、投稿のサムネイル画像を表示します。サムネイルが設定されている投稿のみが表示されます。
サンプル5: ペジネーションを含むループ
if (have_posts()) {
while (have_posts()) {
the_post();
the_title('<h2>', '</h2>');
the_excerpt();
}
the_posts_navigation(); // ペジネーションを表示
}
このサンプルは、投稿タイトルと抜粋を表示し、ページ送りナビゲーションを含めます。それによって、投稿が複数ページにわたっている場合でもナビゲートしやすくします。