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,第二個參數是自定義字段名稱,第三個參數是要更新的值。
需要注意的是,update_post_meta() 函數會根據自定義字段名稱和文章/頁面 ID 來查找自定義字段,如果找到匹配項,則會更新它的值;如果沒有找到匹配項,則會創建一個新的自定義字段。
如果需要更新某個自定義字段,但是需要先檢查該字段是否已經存在,並且當前值等於某個特定值,可以在函數的第四個參數中傳入 $prev_value。例如,下面的代碼僅當自定義字段“author”的當前值爲“Jack”時纔會將其更新爲“John Doe”:
update_post_meta( get_the_ID(), 'author', 'John Doe', 'Jack' );如果自定義字段名稱不存在,則不會更新任何內容,函數將返回 false。如果自定義字段值沒有更改,則不會更新自定義字段,函數將返回 false。如果更新成功,則返回 true。
需要注意的是,由於 WordPress 緩存的存在,如果你在代碼中更新了自定義字段的值,但是在頁面上看不到新的值,可以嘗試使用 wp_cache_flush() 函數清除緩存。