get_post_meta()


関数WordPressget_post_meta()は、投稿やページのメタデータを取得するために使用される関数です。

シンタックス

get_post_meta( int|WP_Post $post_id, string $key = '', bool $single = false );

引数の説明:

  • $post_id (int|WP_Post) — メタデータを取得する投稿IDまたはWP_Postオブジェクト。
  • $key (string) — 取得するメタデータのキー。デフォルトは空文字。
  • $single (bool) — trueの場合、単一の値のみを返す。falseの場合、すべての値を配列として返す。

例 1: 投稿の特定のメタデータを取得

特定のキーを指定して投稿のメタデータを取得します。

<?php
$meta_value = get_post_meta( get_the_ID(), 'custom_key', true );
echo $meta_value;
?>

例 2: すべてのメタデータを取得

キーを指定せずに投稿のすべてのメタデータを取得します。

<?php
$all_meta = get_post_meta( get_the_ID() );
print_r( $all_meta );
?>

例 3: 配列としてメタデータを取得

メタデータを複数取得する場合、$single引数をfalseに設定します。

<?php
$meta_array = get_post_meta( get_the_ID(), 'custom_key', false );
print_r( $meta_array );
?>

例 4: 投稿メタデータの有無を確認

特定のメタデータが存在するかをチェックします。

<?php
if ( get_post_meta( get_the_ID(), 'custom_key', true ) ) {
    echo 'メタデータが存在します。';
} else {
    echo 'メタデータは存在しません。';
}
?>

例 5: 複数のメタデータをループ処理

複数のメタデータを取得してループで表示します。

<?php
$meta_values = get_post_meta( get_the_ID(), 'custom_key', false );
foreach ( $meta_values as $value ) {
    echo '<li>' . esc_html( $value ) . '</li>';
}
?>

注意事項

  • 関数get_post_meta()は、投稿IDが正しいことを確認する必要があります。
  • 取得したメタデータの値を出力する際は、esc_html()を使用してエスケープ処理を行うことを推奨します。

関連機能: