get_metadata_default()


WordPressのget_metadata_default()関数は、指定された投稿タイプやタクソノミーのデフォルトメタデータを取得するために使用されます。

構文

get_metadata_default( string $meta_type, int $object_id, string $meta_key, mixed $default_value );

引数の説明:

  • $meta_type(string)—メタデータのタイプ(例: ‘post’, ‘comment’, ‘term’, ‘user’)
  • $object_id(int)—オブジェクトID
  • $meta_key(string)—取得するメタデータのキー
  • $default_value(mixed)—メタデータが存在しない場合に返されるデフォルト値

例1: 投稿のデフォルトメタデータを取得

投稿のデフォルトメタデータを取得します。

$default_meta = get_metadata_default('post', get_the_ID(), '_thumbnail_id', 0);

例2: ユーザーメタデータのデフォルト値を設定

ユーザーメタデータのデフォルト値を取得します。

$user_default = get_metadata_default('user', get_current_user_id(), 'nickname', 'anonymous');

例3: タームのデフォルトメタデータ

カテゴリータームのデフォルトメタデータを取得します。

$term_meta = get_metadata_default('term', get_queried_object_id(), 'color', '#ffffff');

例4: コメントメタデータのデフォルト

コメントのデフォルトメタデータを取得します。

$comment_meta = get_metadata_default('comment', get_comment_ID(), 'rating', 5);

例5: カスタム投稿タイプのメタデータ

カスタム投稿タイプのデフォルトメタデータを取得します。

$cpt_meta = get_metadata_default('post', get_the_ID(), 'product_price', 1000);

例6: 存在しないメタキーのデフォルト値

存在しないメタキーに対してデフォルト値を返します。

$non_existent = get_metadata_default('post', 999, 'non_existent_key', 'default_value');

例7: フィルター付きのデフォルトメタデータ

フィルターを使ってデフォルトメタデータを取得します。

add_filter('default_post_metadata', function($value, $object_id, $meta_key){return $meta_key==='special_key'?'special_value':$value;},10,3);
$filtered_meta = get_metadata_default('post', get_the_ID(), 'special_key', '');

注意点

  • この関数はWordPressコアに含まれていない場合があります
  • オブジェクトIDが存在しない場合の挙動に注意
  • メタデータのタイプを正しく指定

関連機能: