フリーランス|WEB 制作経験丸7年、制作会社様からのご依頼に丁寧・高クオリティでお手伝いいたします。 IRODORI DESIGN

B L O G

【WordPress】投稿IDからタイトルや本文を取得する方法

WordPress
投稿ID

こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。

WordPressの各記事には投稿IDが設定されます。そしてこの投稿IDからはタイトルや本文などこの投稿IDに関連する様々な情報を取得することが出来ます。
この記事では投稿IDからタイトルや本文などを取得する方法をご紹介します。

投稿IDを取得する方法

まずは記事の投稿IDを取得する方法を簡単にご紹介します。投稿IDは以下の関数を使用することで取得出来ます。

  • the_ID();
  • get_the_ID();
  • $post->ID;

なお、これらはメインループ、またはサブループの中で使用するようにします。

the_ID()関数を使って取得する方法

the_ID()関数を使うと投稿IDを取得することが出来ます。

the_ID();

the_ID()関数はその場ですぐに出力されます。そのため変数や配列に格納して後から使用することは出来ません。

the_ID()関数については以下の記事で詳しくご紹介しています。

get_the_ID()関数を使って取得する方法

get_the_ID()関数を使うことでも投稿IDを取得することが出来ます。

$post_id = get_the_ID();
echo $post_id;

get_the_ID()関数で取得した投稿IDは、その場ですぐに出力されないので、echoなどで出力する必要があります。

get_the_ID()関数については以下の記事で詳しくご紹介しています。

$post->ID;を使って取得する方法

記事の投稿IDは$post->IDでも取得することが出来ます。
global $postは必ずしも宣言する必要はありません。

global $post;
$post_id = $post->ID;
echo $post_id;

投稿IDから情報を取得する方法

ここからが本題です。
投稿IDが分かれば、その記事に関する情報は基本的に取得することが出来ます。
それでは投稿IDからその記事に関する様々な情報を取得する方法をご紹介します。

投稿IDから投稿日時を取得する方法

投稿IDから投稿日時は以下の方法で取得することが出来ます。

  • get_the_date();
  • get_post();
  • get_the_field();

get_the_date()関数を使って取得する方法

get_the_date()関数を使用することで投稿IDから投稿日時を取得することが出来ます。

$post_id = get_the_ID();
$post_date = get_the_date( '',$post_id );
echo $post_date;

get_post()関数を使って取得する方法

get_post()関数を使用することで投稿IDから投稿日時を取得することが出来ます。

$post_id = get_the_ID();
$post = get_post( $post_id );
$post_date = $post->post_date;
echo $post_date;

get_post_field()関数を使って取得する方法

get_post_field()関数を使用することで投稿IDから投稿日時を取得することが出来ます。

$post_id = get_the_ID();
$post_date = get_post_field('post_date', $post_id);
echo $post_date;

投稿IDから更新日時を取得する方法

投稿IDから更新日時は以下の関数を使用することで取得出来ます。

  • get_the_modified_date();
  • get_post();
  • get_post_field();

get_the_modified_date()関数を使って取得する方法

get_the_modified_date()関数を使用することで投稿IDから更新日時を取得することが出来ます。

$post_id = get_the_ID();
$post_modified = get_the_modified_date( '',$post_id );
echo $post_modified;

get_post()関数を使って取得する方法

get_post()関数を使用することで投稿IDから更新日時を取得することが出来ます。

$post_id = get_the_ID();
$post = get_post( $post_id );
$post_modified = $post->post_modified;
echo $post_modified;

get_post_field()関数を使って取得する方法

get_post_field()関数を使用することで投稿IDから更新日時を取得することが出来ます。

$post_id = get_the_ID();
$post_modified = get_post_field( 'post_modified', $post_id );
echo $post_modified;

投稿IDからタイトルを取得する方法

投稿IDから投稿日時は以下の関数を使用することで取得出来ます。

  • get_the_title();
  • get_post();
  • get_post_field();

get_the_title()関数を使って取得する方法

get_the_title()関数を使用することで投稿IDからタイトルを取得することが出来ます。

$post_id = get_the_ID();
$post_title = get_the_title( $post_id );
echo $post_title;

get_the_title()関数については以下の記事で詳しくご紹介しています。

get_post()関数を使って取得する方法

get_post()関数を使用することで投稿IDからタイトルを取得することが出来ます。

$post_id = get_the_ID();
$post = get_post( $post_id );
$post_title = $post->post_title;
echo $post_title;

get_post_field()関数を使って取得する方法

get_post_field()関数を使用することで投稿IDからタイトルを取得することが出来ます。

$post_id = get_the_ID();
$post_title = get_post_field( 'post_title', $post_id );
echo $post_title;

投稿IDから本文を取得する方法

投稿IDから本文は以下の関数を使用することで取得出来ます。

  • get_the_content();
  • get_post();
  • get_post_field();

get_the_content()関数を使って取得する方法

get_the_content()関数を使用することで投稿IDから本文を取得することが出来ます。

$post_id = get_the_ID();
$post_content = get_the_content( $post_id );
echo nl2br($post_content);

nl2br()関数は改行を有効にするための関数です。

get_post()関数を使用することで投稿IDから本文を取得することが出来ます。

get_the_content()関数については以下の記事で詳しくご紹介しています。

get_post()関数を使って取得する方法

$post_id = get_the_ID();
$post = get_post( $post_id );
$post_content = $post->post_content;
echo nl2br($post_content);

nl2br()関数は改行を有効にするための関数です。

get_post_field()関数を使って取得する方法

get_post_field()関数を使用することで投稿IDから本文を取得することが出来ます。

$post_id = get_the_ID();
$post_content = get_post_field( 'post_content', $post_id );
echo nl2br($post_content);

nl2br()関数は改行を有効にするための関数です。

投稿IDからURL(パーマリンク)を取得する方法

投稿IDからURL(パーマリンク)は以下の関数を使用することで取得出来ます。

  • get_permalink();
  • get_post_permalink();

get_permalink()関数を使って取得する方法

get_permalink()関数を使用することで投稿IDからURL(パーマリンク)を取得することが出来ます。

$post_id = get_the_ID();
$post_permalink = get_permalink( $post_id );
echo $post_permalink;

get_permalink()関数については以下の記事で詳しくご紹介しています。

get_post_permalink()関数を使って取得する方法

get_post_permalink()関数を使用することで投稿IDからURL(パーマリンク)を取得することが出来ます。

$post_id = get_the_ID();
$post_permalink = get_post_permalink( $post_id );
echo $post_permalink;

get_post_permalink()関数はWordPress5.5以降で使用可能です。

投稿IDから投稿者名を取得する方法

投稿IDから投稿者名は以下の関数を使用することで取得出来ます。

  • get_the_author_meta();
  • get_userdata();

get_the_author_meta()関数を使って取得する方法

get_the_author_meta()関数を使用することで投稿IDから投稿者名を取得することが出来ます。

$post_id = get_the_ID();
$author_id = get_post_field( 'post_author', $post_id );
$author_name = get_the_author_meta( 'display_name', $author_id );
echo $author_name;

get_userdata()関数を使って取得する方法

get_userdata()関数を使用することで投稿IDから投稿者名を取得することが出来ます。

$post_id = get_the_ID();
$author_id = get_post_field( 'post_author', $post_id );
$author_data = get_userdata( $author_id );
$author_name = $author_data->display_name;
echo $author_name;

投稿IDからサムネイル画像を取得する方法

投稿IDからサムネイル画像は以下の関数を使用することで取得出来ます。

  • get_the_post_thumbnail_url();
  • get_post_thumbnail_id();+wp_get_attachment_image_src();

get_the_post_thumbnail_url()関数を使って取得する方法

get_the_post_thumbnail_url()関数を使用することで投稿IDからサムネイル画像を取得することが出来ます。

$post_id = get_the_ID();
$thumbnail_url = get_the_post_thumbnail_url( $post_id, 'thumbnail' );
echo $thumbnail_url;

サムネイル画像のサイズは「thumbmail」の他に、「small」「medium」「large」「full」が指定出来ます。

get_post_thumbnail_id();関数とwp_get_attachment_image_src()を組み合わせて取得する方法

get_the_post_thumbnail_url()関数を使用して、サムネイルのIDを取得し、その後wp_get_attachment_image_src()関数を使用することで投稿IDからサムネイル画像を取得することが出来ます。

$post_id = get_the_ID();
$thumbnail_id = get_post_thumbnail_id( $post_id );
$thumbnail_url_array = wp_get_attachment_image_src( $thumbnail_id, 'thumbnail' );
$thumbnail_url = $thumbnail_url_array[0];
echo $thumbnail_url;

サムネイル画像のサイズは「thumbmail」の他に、「small」「medium」「large」「full」が指定出来ます。

投稿IDからカテゴリを取得する方法

投稿IDからカテゴリは以下の関数を使用することで取得出来ます。

  • get_the_category();
  • wp_get_post_categories();

get_the_category関数を使って取得する方法

get_the_category関数を使用することで投稿IDからカテゴリを取得することが出来ます。

$post_id = get_the_ID();
$categories = get_the_category( $post_id );
if($categories){
    foreach( $categories as $category ){
        echo $category->name . ', ';
    }
}

wp_get_post_categories関数を使って取得する方法

wp_get_post_categories()関数を使用することで投稿IDからカテゴリを取得することが出来ます。

$post_id = get_the_ID();
$category_ids = wp_get_post_categories( $post_id );
if( $category_ids ){
    foreach( $category_ids as $category_id ){
        $category = get_category( $category_id );
        echo $category->name . ', ';
    }
}

まとめ

いかがでしたか?
投稿IDが分かれば、そこから多くの情報を取得することが出来ますね。
ただし、使用場所によっては上手く取得出来ない方法もありますので、その場合はいくつかある他の方法で取得することを試してみましょう。