update_post_meta() これは、WordPressにおいて記事またはページのカスタムフィールドを更新するための関数であり、「メタデータ」とも呼ばれます。この関数のプロトタイプは以下の通りです:
update_post_meta( int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '' )パラメータ説明:
$post_id必須:記事またはページのID。$meta_key必須:カスタムフィールドの名前。$meta_value必須:カスタムフィールドの値。$prev_value:オプション。この値が既に存在するかどうかを確認するために使用します。指定された場合、カスタムフィールドの値が「」に等しいときにのみ適用されます。$prev_valueその時のみ更新されます。
呼び出し update_post_meta() この関数を使用すると、指定された記事またはページのカスタムフィールドのデータを更新できます。例えば、記事またはページに「author」という名前のカスタムフィールドがある場合、以下のコードを使用してその値を更新できます:
update_post_meta( get_the_ID(), 'author', 'John Doe' );上記のコードにおいて、get_the_ID() 現在の記事またはページのIDを取得するために使用します。第2のパラメータはカスタムフィールド名、第3のパラメータは更新対象の値です。
ご注意ください。update_post_meta() この関数は、カスタムフィールド名および記事/ページIDに基づいてカスタムフィールドを検索します。一致する項目が見つかった場合、その値を更新します;見つからなかった場合、新しいカスタムフィールドを新規作成します。
特定のカスタムフィールドを更新する必要がある場合、そのフィールドが既に存在するか、および現在の値が特定の値に等しいかどうかを事前に確認する必要があるときは、この条件を関数の第4引数に渡すことができます。 $prev_value例えば、以下のコードでは、カスタムフィールド「author」の現在の値が「Jack」である場合にのみ、その値を「John Doe」に更新します:
update_post_meta( get_the_ID(), 'author', 'John Doe', 'Jack' );カスタムフィールドの名称が存在しない場合、いずれの内容も更新せず、関数は false を返します。カスタムフィールドの値が変更されていない場合、カスタムフィールドは更新されず、関数は false を返します。更新が成功した場合は、関数は true を返します。
WordPressのキャッシュ機能の影響により、コード内でカスタムフィールドの値を更新したにもかかわらず、ページ上に新しい値が表示されない場合、以下の方法を試してみてください。 wp_cache_flush() 関数でキャッシュをクリアします。