【WordPress】get_postで投稿・固定ページのデータを取得する例

今回はWordPressでget_post関数を使用し、投稿や固定ページの指定した情報を取得する例となります。

get_post関数について

get_post()は、指定した投稿の情報をデータベースから返す関数となります。指定した投稿が存在しないかエラーが発生した場合は、nullを返します。

get_post関数で投稿の情報を取得する例

以下はget_post関数を使用する例となり、現在の投稿オブジェクト取得し、その中から指定したデータを変数にセットしています。

<?php
// 現在の投稿オブジェクトを取得
$post_data = get_post();

// 本文を取得
$content = $post_data->post_content;
// 投稿IDを取得
$ID = $post_data->ID;
// スラッグを取得
$slug = $post_data->post_name;
// タイトルを取得
$title = $post_data->post_title;
// 投稿日時を取得
$date = $post_data->post_date;
// ページのURLを取得
$url = $post_data->guid; 
?>

上記例の他にも取得できる戻り値はあります。詳しくは文末の参考サイトを確認してみてください。

取得したデータを出力する場合

取得したデータを出力する際にはechoなどを使用します。

また、セキュリティ対策として出力するデータによっては無害化を行います。データの無害化については以下のリンク先を参考にしてみてください。

データ検証 - WordPress Codex 日本語版

get_post関数のパラメータ

get_post( $id, $output, $filter );
$id (省略可)
取得したい投稿または固定ページの IDを指定。省略した場合は現在の投稿。
$output (省略可)
 戻り値の型を以下の値で指定できます。
'OBJECT' を指定した場合は投稿オブジェクト 。省略した場合も 'OBJECT'となります 。
'ARRAY_A' を指定した場合は連想配列(フィールド名がキーとなります)。
'ARRAY_N' - を指定した場合はインデックス配列。
$filter (省略可)
無害化の種類を以下の値で指定できます。
'raw' - 数値フィールドの値のみ無害化。省略した場合も 'raw'となります 。
'edit' - 各種フィルターフックで無害化。
'db' - 各種フィルターフックで無害化。
'display' - 各種フィルターフックで無害化。
'attreibute' - 各種フィルターフックの後、esc_attr() で無害化。
'js' - 各種フィルターフックの後、esc_js() で無害化。

参考サイトなど

コメント投稿コメント投稿欄を開く

コメントは項目欄(*は必須項目)を入力し、「コメントを送信」ボタンをクリックしてください。 (メールアドレスは公開されることはありません。コメントの公開は承認制となります。)

また、多忙によりコメントには返信できない場合があります。

Twitterで返信する場合はこちらから。