【WordPress】投稿IDを取得する関数解説
こんにちは、岐阜・名古屋を拠点に全国各地からご依頼いただくWEBサイトを制作しているフリーランスエンジニアの寺井です。
WordPressの投稿のIDを取得する場合、いくつかの関数が用意されています。
しかし、どの関数を使用すればいいのか、使い分けはどうしたらいいのか、ふと疑問に思うこともあります。
今回はWordPressの投稿のIDを取得する関数を違いと使い分けのポイントを踏まえてご紹介したいと思います。
この記事の目次を表示
the_ID()関数
the_ID()
関数は、WordPressで現在の投稿のIDを取得するときに使用します。
この関数は、WordPressのループ内で使用します。
基本的な使用方法
この関数の使用方法は凄くシンプルで、以下のように記述します。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php the_ID(); ?>
<?php endwhile; endif; ?>
このコードをsingle.phpやpage.phpなどテーマのテンプレートファイルのループ内で挿入することで、現在の投稿のIDを表示することが出来ます。
get_the_ID()関数
get_the_ID()
関数は、WordPressで現在の投稿のIDを取得する時に使用します。the_ID()
関数と異なり、get_the_ID()
関数はIDを表示するのではなく、文字列として返します。
これにより、IDを変数に保存したり、他の関数と組み合わせたりすることができます。
基本的な使用方法
基本的な使用方法はシンプルで、以下のように記述します。
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php echo get_the_ID(); ?>
<?php endwhile; endif; ?>
このコードをsingle.phpやpage.phpなどテーマのテンプレートファイルのループ内で挿入することで、現在の投稿のIDを取得し、それを表示します。
get_the_ID
関数も引数を指定することが出来ないため、基本的には上の方法に限られます。
ただし、直接出力しないため、投稿IDをもとに様々な情報を取得するために使用することが出来ます。
get_the_ID()関数の使用例
get_the_ID()
関数を使用して、取得した投稿IDをもとに様々なデータを取得することが出来ます。ここではいくつかご紹介したいと思います。
カスタムフィールドの値を取得
get_the_ID()
関数を使用して投稿に設定されているカスタムフィールドの値を取得することが出来ます。
<?php
$post_id = get_the_ID();
$custom_field_value = get_post_meta( $post_id, 'custom_field_name', true );
?>
<p><?php echo esc_html($custom_field_value); ?></p>
投稿のタクソノミー項目を取得
get_the_ID()
関数を使用して投稿に関連付けられているタクソノミーの項目を取得することが出来ます。
<?php
$post_id = get_the_ID();
$terms = wp_get_post_terms( $post_id, 'category' );
foreach ( $terms as $term ) {
?>
<p><?php echo esc_html( $term->name ); ?></p>
<?php
}
?>
投稿のアイキャッチ画像を取得
get_the_ID()
関数を使用して投稿のアイキャッチ画像のURLを取得することが出来ます。
<?php
$post_id = get_the_ID();
$img_url = get_the_post_thumbnail_url( $post_id, 'full' );
?>
<img src="<?php echo esc_html($img_url); ?>" alt="<?php echo get_the_title(); ?>">
get_the_ID()
関数はWordPressテーマやプラグイン開発において非常に便利で、特定の投稿や固定ページに対してカスタマイズされた表示や機能を実装する際によく使われます。この関数を使って、投稿や固定ページのIDに基づいた様々なカスタマイズを行うことができます。
それぞれの関数の違いと使い分け
the_ID()
関数とget_the_ID()
関数はどちらもWordPressで投稿のIDを取得するための関数ですが、違いは出力方法です。
使い分けのポイント
the_ID()
関数は単純にIDを表示するのに適しています。
一方、get_the_ID()
関数はIDをさらに操作したい場合(例:保存、条件分岐、組み合わせなど)に適しています。
まとめ
今回は投稿のIDを取得する関数をご紹介しました。
それぞれどんな特性があり、使用が適しているのはどんな場面なのか、それぞれの状況にあった関数を使用していきたいですね。