2025年08月11日[月曜日]

get_the_ID() 関数完全リファレンス

  • 2025/08/07
  • REFERENCE
  • WordPressの関数
  • 0comments
  • 92views
  • 約4分で読めます

WordPressでテーマを作成する際、投稿やページのIDを取得するために get_the_ID() 関数を使用します。この関数は現在のグローバル変数 $post に格納されている投稿の一意のIDを自動的に取得して返してくれる便利な機能です。

基本的な使い方

get_the_ID() 関数は以下の形で使用します。

get_the_ID();
PHP

パラメータ

  • なし

戻り値

  • グローバル変数 $post に格納されている投稿・固定ページのID(整数)
  • $post が設定されていない場合は false

使用例

get_the_ID() 関数はパラメータを取りません。常にグローバル変数 $post に格納されている投稿・固定ページのIDを取得します。

// 自動的に$postオブジェクトからIDを取得
$post_id = get_the_ID();
PHP

実際の使用例

get_the_ID() は単独で使用することはほとんどありません。主に他の関数のパラメータとして投稿IDが必要な場面で使用します。

投稿のパーマリンクを取得

<?php
  // get_permalink() のパラメータとして使用
  $permalink = get_permalink(get_the_ID());
  echo '<a href="' . $permalink . '">この記事を読む</a>';
?>
PHP

カスタムフィールドの値を取得

<?php
// get_post_meta() の第1パラメータとして使用
$thumbnail_url = get_post_meta(get_the_ID(), 'thumbnail_url', true);
echo $thumbnail_url;
?>
PHP

wp_queryのループ内で使用

<?php
  $args = array(
    'post_type' => 'post',
    'posts_per_page' => 5
  );

  $query = new WP_Query($args);

  if ($query->have_posts()) {
    while ($query->have_posts()) {
      // the_post()でグローバル変数$postに現在の投稿オブジェクトが格納される
      $query->the_post();

      // この時点で$postが設定されているため、get_the_ID()が正常に動作する
      $custom_field = get_post_meta(get_the_ID(), 'custom_key', true);
      echo '<h2>' . get_the_title() . '</h2>';
      echo '<p>カスタムフィールド: ' . $custom_field . '</p>';
    }
    wp_reset_postdata();
  }
?>
PHP

関連関数との違い

get_the_ID() と the_ID() の違い

  • get_the_ID():IDを取得して変数に保存できる
  • the_ID():IDを直接表示する
// get_the_ID()を使用(取得)
$id = get_the_ID();
echo $id;

// the_ID()を使用(直接表示)
the_ID();

// 上記2つは同じ結果になります
123
123
PHP

使い分けのポイント

get_the_ID()を使う場面

  • IDを変数に格納したい場合
  • 条件分岐でIDをチェックしたい場合
  • 他の関数のパラメータとしてIDを使いたい場合

the_ID()を使う場面

  • HTMLの属性値として直接IDを出力したい場合
// IDを取得して他の処理に使用
$post_id = get_the_ID();
$meta_value = get_post_meta($post_id, 'key', true);

// HTMLの属性値として直接出力
<div id="post-<?php the_ID(); ?>">
  <!-- 投稿内容 -->
</div>
PHP

注意点

使用できる場面

get_the_ID() はグローバル変数 $post に投稿オブジェクトが格納されている場面で正常に動作します。

  • 投稿ページ(single.php):WordPressが自動的に現在表示中の投稿を $post に格納
  • 固定ページ(page.php):WordPressが自動的に現在表示中の固定ページを $post に格納
  • ループ内the_post() によって各投稿の $post オブジェクトが順次設定される

一方、$post オブジェクトが設定されていない場面では、期待した値が取得できません。

まとめ

get_the_ID() 関数は WordPressテーマ作成で頻繁に使用される基本的な関数の一つです。

覚えておきたいポイント

  • get_the_ID()は他の関数のパラメータとして使用するのが基本
  • カスタムフィールド取得、パーマリンク取得など、投稿IDが必要な場面で活用
  • IDを取得するときはget_the_ID、IDを表示するときはthe_IDと覚えておけば間違いない
  • グローバル変数 $post が設定されている場面で使用する
  • 他のWordPress関数と組み合わせることで真価を発揮する

投稿IDはWordPressで各投稿を識別するための重要な要素です。get_the_ID() を他の関数と組み合わせて使いこなして、より柔軟なテーマ作成を行いましょう。

この記事の評価をお願いします

評価をすると「既読」となり、まだ読んでいない記事を区別できます。

この投稿をシェアする

コメントを残す

CAPTCHA



STAY CONNECTED

wp-ch Admin

現役のフリーランスエンジニアがWordPressによるWebサイト構築を基礎から実践テクニックまで徹底解説します。

たくさんの方がフォローしてくれています。あなたもぜひ、情報を受け取ってください。

STORY|ストーリー

WordPressを効率よく確実に学ぶためには、学習の順序が大切です。知識が自然に積み上がるよう、学習ステップに沿って記事を順番に並べています。

学習ストーリー第40話まで掲載中

全ストーリーを見る