get_post_custom_values()


関数get_post_custom_values()は、特定の投稿に関連付けられたカスタムフィールドの値を取得するために使用されます。

シンタックス

get_post_custom_values( string $key, int|WP_Post|null $post_id = null );

引数の説明

  • $key (string) — 取得したいカスタムフィールドのキー名。
  • $post_id (int|WP_Post|null) — 投稿IDまたは投稿オブジェクト。指定しない場合は現在の投稿が対象になります。

例 1: カスタムフィールドの値を取得して表示

特定のカスタムフィールドの値を取得して表示します。

<?php
$values = get_post_custom_values( 'custom_field_key', get_the_ID() );
if ( ! empty( $values ) ) {
    echo esc_html( implode( ', ', $values ) );
}
?>

例 2: 投稿IDを指定せずに現在の投稿の値を取得

現在の投稿のカスタムフィールドの値を表示します。

<?php
$values = get_post_custom_values( 'custom_field_key' );
if ( $values ) {
    echo esc_html( implode( ', ', $values ) );
}
?>

例 3: 複数のカスタムフィールドをループして取得

複数のカスタムフィールドを取得して処理します。

<?php
$values = get_post_custom_values( 'custom_field_key', get_the_ID() );
if ( $values ) {
    foreach ( $values as $value ) {
        echo '<div>' . esc_html( $value ) . '</div>';
    }
}
?>

例 4: カスタムフィールドが存在するか確認

カスタムフィールドの存在を確認します。

<?php
if ( get_post_custom_values( 'custom_field_key', get_the_ID() ) ) {
    echo 'カスタムフィールドが存在します。';
} else {
    echo 'カスタムフィールドが存在しません。';
}
?>

例 5: 投稿オブジェクトを指定して値を取得

投稿オブジェクトを使用してカスタムフィールドの値を取得します。

<?php
$post = get_post();
$values = get_post_custom_values( 'custom_field_key', $post );
if ( $values ) {
    echo esc_html( implode( ', ', $values ) );
}
?>

注意事項

  • get_post_custom_values()は、複数の値を配列として返します。単一値のみを取得する場合は注意が必要です。
  • 未定義のカスタムフィールドを指定するとnullが返されます。

関連機能: