概要
get_post_parent
関数は、特定の投稿の親投稿情報を取得するための関数です。この関数は、カスタム投稿タイプやページなど、親子関係のある投稿を扱う際に非常に役立ちます。また、次のような機能を実装する際によく使われます。
- ページ階層の取得
- カスタム投稿タイプの親子関係表示
- ナビゲーションメニューの生成
- 投稿のメタデータ表示
- 関連投稿リストの作成
- 投稿の階層構造の可視化
- サイドバーウィジェットの生成
- テンプレートでの親投稿情報表示
構文
$post_parent_id = get_post_parent($post_id);
パラメータ
$post_id
(int): 親投稿を取得したい投稿のID。
戻り値
- (int): 指定された投稿の親投稿のIDが返されます。親投稿が存在しない場合は、0が返されます。
関連する関数
使用可能なバージョン
get_post_parent
関数は、WordPress 2.7.0から利用可能です。
コアファイルのパス
wp-includes/post.php
サンプルコード
以下に、get_post_parent
関数を使用したサンプルコードとその説明を示します。
サンプルコード1: 親投稿のIDを取得する
$post_id = 42; // 取得したい投稿のID
$parent_id = get_post_parent($post_id);
echo "親投稿のID: " . $parent_id;
このコードは、特定の投稿のIDを指定して、その親投稿のIDを取得し、表示します。
サンプルコード2: 親投稿のタイトルを取得する
$post_id = 42;
$parent_id = get_post_parent($post_id);
if ($parent_id) {
$parent_title = get_the_title($parent_id);
echo "親投稿のタイトル: " . $parent_title;
}
指定した投稿の親投稿のタイトルを取得し、表示します。
サンプルコード3: 親投稿がない場合の処理
$post_id = 42;
$parent_id = get_post_parent($post_id);
if ($parent_id === 0) {
echo "この投稿には親投稿がありません。";
} else {
echo "親投稿のID: " . $parent_id;
}
このコードは、親投稿が存在しない場合にメッセージを表示します。
サンプルコード4: 所属する親投稿の情報を取得する
$post_id = 42;
$parent_id = get_post_parent($post_id);
$parent_post = get_post($parent_id);
if ($parent_post) {
echo "親投稿の内容: " . $parent_post->post_content;
}
親投稿のIDから、その親投稿の内容を取得し、表示します。
サンプルコード5: 投稿一覧で親投稿を表示する
$posts = get_posts(array('post_type' => 'page'));
foreach ($posts as $post) {
$parent_id = get_post_parent($post->ID);
echo "投稿: " . $post->post_title . " (親投稿ID: " . $parent_id . ")<br>";
}
投稿一覧を取得し、各投稿とその親投稿のIDを表示します。
この関数のアクションでの使用可能性
アクション名 | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
特定のバージョンで非推奨または削除された情報はありません。