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;
?>
PHPwp_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()
を他の関数と組み合わせて使いこなして、より柔軟なテーマ作成を行いましょう。