get_metadata()


get_metadata()は、WordPressで指定されたオブジェクト(投稿、ユーザー、コメントなど)のメタデータを取得するための関数です。

構文

get_metadata( string $meta_type, int $object_id, string $meta_key = '', bool $single = false );

引数の説明:

  • $meta_type (string) — メタデータのタイプ(例: ‘post’, ‘user’, ‘comment’)。
  • $object_id (int) — メタデータを取得するオブジェクトのID。
  • $meta_key (string) — 取得するメタデータのキー。空の場合、すべてのメタデータを取得します。
  • $single (bool) — trueの場合、単一の値を返します。falseの場合、配列を返します。

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

指定された投稿IDのメタデータを取得します。

$post_meta = get_metadata( 'post', get_the_ID() );
print_r( $post_meta );

例2: 特定のメタキーの値を取得

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

$meta_value = get_metadata( 'post', get_the_ID(), 'custom_key', true );
echo $meta_value;

例3: ユーザーのメタデータを取得

指定されたユーザーIDのメタデータを取得します。

$user_meta = get_metadata( 'user', get_current_user_id() );
print_r( $user_meta );

例4: コメントのメタデータを取得

指定されたコメントIDのメタデータを取得します。

$comment_meta = get_metadata( 'comment', 123 );
print_r( $comment_meta );

例5: 複数のメタデータを配列で取得

複数のメタデータを配列として取得します。

$meta_values = get_metadata( 'post', get_the_ID(), 'custom_key', false );
print_r( $meta_values );

例6: メタデータが存在するか確認

指定されたメタキーのメタデータが存在するか確認します。

if ( metadata_exists( 'post', get_the_ID(), 'custom_key' ) ) {
    echo 'メタデータが存在します。';
} else {
    echo 'メタデータが存在しません。';
}

注意点:

  • メタデータのタイプ($meta_type)は正しく指定する必要があります。
  • メタキーが存在しない場合、get_metadata()は空の配列またはfalseを返します。
  • メタデータの取得にはデータベースクエリが発生するため、パフォーマンスに影響を与える可能性があります。

関連機能: