update_post_meta()


WordPressのupdate_post_meta()関数は、指定された投稿のメタデータを更新または追加するために使用されます。この関数は、投稿ID、メタキー、およびメタ値を引数として受け取り、メタデータを更新します。

構文

update_post_meta( int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' );

引数の説明:

  • $post_id(int) — メタデータを更新する投稿のID。
  • $meta_key(string) — 更新または追加するメタデータのキー。
  • $meta_value(mixed) — メタデータの値。文字列、数値、配列などが指定可能。
  • $prev_value(mixed) — 以前のメタデータの値。指定すると、その値を持つメタデータのみが更新されます。

例1: 投稿のメタデータを更新する

この例では、現在の投稿のメタデータを更新します。

update_post_meta(get_the_ID(), 'custom_key', '新しい値');

例2: 特定のメタデータを更新する

以前の値が「古い値」であるメタデータのみを更新します。

update_post_meta(get_the_ID(), 'custom_key', '新しい値', '古い値');

例3: 配列をメタデータとして保存する

メタデータとして配列を保存します。

update_post_meta(get_the_ID(), 'custom_key', array('値1', '値2', '値3'));

例4: メタデータが存在しない場合に追加する

メタデータが存在しない場合にのみ追加します。

if(!get_post_meta(get_the_ID(), 'custom_key', true)) { update_post_meta(get_the_ID(), 'custom_key', '新しい値'); }

例5: メタデータを削除する

メタデータを削除するには、値を空にします。

update_post_meta(get_the_ID(), 'custom_key', '');

例6: 複数のメタデータを一括更新

複数のメタデータを一度に更新します。

update_post_meta(get_the_ID(), 'custom_key1', '値1'); update_post_meta(get_the_ID(), 'custom_key2', '値2');

例7: メタデータの値を数値として更新

メタデータの値を数値として更新します。

update_post_meta(get_the_ID(), 'custom_key', 123);

例8: メタデータの値をブール値として更新

メタデータの値をブール値として更新します。

update_post_meta(get_the_ID(), 'custom_key', true);

注意点

  • メタデータのキーが既に存在する場合、その値は上書きされます。
  • メタデータの値が空の場合、そのメタデータは削除されます。
  • 投稿IDが無効な場合、関数はfalseを返します。

関連機能: