什麼是 WordPress 的自定義字段?
對於 WordPress 的一篇文章,有很多元素:標題、內容、作者、文章類型、狀態、時間等等。然而這些元素有時候遠遠不夠,比如我希望給每篇文章附加一個值:訪問次數。那我們就可以通過給文章附加一個元素來實現,這個元素至少得有三個值:所屬文章,元素名稱,值。這個元素就是自定義字段了。在 WordPress 中,自定義字段存儲在數據庫的_postmeta 表中,在數據表中總共有 4 個屬性分別是:meta_id-字段 ID,post_id-所屬文章,meta_key-字段名稱,meta_value-值。字段 ID 基本無用,只是在數據庫中存儲需要,後面三個值,前面已經説了,一個附加元素至少需要這三個值。不過我們説的自定義字段應該是隻主題作者或者管理員為文章添加的,WordPress 默認的字段就不要算上了。
WordPress 的自定義字段用的很多,比如用自定義字段實現 seo 功能:為每篇文章添加一個 title 字段、添加關鍵字字段、添加描述信息字段,為商品添加圖片或者附加信息,總之自定義字段的拓展功能很強,要想建一個高級一點的站點,使用自定義字段必不可少。
一般的我們只需要在文章或頁面的編輯頁面上方的顯示選項裏面勾選自定義欄目即可:

點選後即可看到文章邊界頁面的編輯器下面有自定義欄目版塊,

你可以通過上面的面板來為文章添加自定義字段。
自定義字段的操作
對自定義字段的主要操作有四種:添加、更新 (修改) 、刪除、獲取 (值) 。
1 、首先自定義字段的添加函數,改函數可以為文章往數據庫中添加一個字段:
- <?php
- add_post_meta($post_id, $meta_key, $meta_value, $unique);
- //$post_id--文章 id
- //$meta_key--字段名稱
- //$meta_value--值
- //$unique--(布爾值、可選) 字段是否唯一,如果設置為 true,那麼添加字段的時候如果這個字段已經存在了,就不會再添加
- ?>
2 、自定義字段的更新函數,該函數可以更新一個已經存在的字段:
- <?php
- update_post_meta($post_id, $meta_key, $meta_value, $prev_value);
- //$post_id--文章 id
- //$meta_key--字段名稱
- //$meta_value--新的值
- //$prev_value--(可選) 以前的值,如果這個字段有幾個,那麼只會更新匹配的這個值
- ?>
3 、自定義字段的刪除函數,該函數可以刪除一個已經存在的字段:
- <?php
- delete_post_meta($post_id, $meta_key, $meta_value);
- //$post_id--文章 id
- //$meta_key--字段名稱
- //$meta_value--(可選) 要刪除的值,要刪除特定值的字段,對於字段不唯一來説有意義,如果這個參數留空,那麼所有這個字段名稱的字段都會被刪除
- ?>
4 、自定義字段值的獲取函數,該函數用於獲取一個已經存在的字段的值:
- <?php
- $meta_values = get_post_meta($post_id, $key, $single);
- //$post_id--文章 id
- //$key--字段名稱
- //$single--(布爾值、可選) 如果設置為 true,對於存在多個相同的字段,這個函數也只會返回一個唯一的值。如果設置為 false 或者留空,那麼會返回一個數組
- ?>
關於自定義字段的基礎使用,可參考前面的教程:
無插件實現瀏覽次數統計
使用自定義字段添加關鍵詞和描述信息