WordPress中编写自定义存储字段的相关PHP函数解析,_PHP教程
WordPress中编写自定义存储字段的相关PHP函数解析,
WordPress 的自定义字段就是文章的 meta 信息(元信息),利用这个功能,可以扩展文章的功能,是学习 WordPress 插件开发和主题深度开发的必备知识,方便给文章储存一些额外的自定义内容。
自定义字段不光给插件开发者使用,WordPress 的特色图像、自定义页面模板等功能的信息都储存在自定义字段的表单里边。
在文章编辑器界面的 “自定义栏目” 板块可以管理除了名字开头是 “_” 的字段(没有 “自定义栏目” 板块请在右上角的 “显示选项” 开启),所以很多 WordPress 自己使用的自定义字段无法在此管理。
存储原理
自定义字段非常灵活,首先来说一下它的储存原理和为什么这么灵活。数据库中,储存文章的 wp_posts 表单,只有默认的 20 个项目,用于储存必须的文章信息。
而存储自定义字段的 wp_postmeta 表,却只有四个项目,分别是 meta_id(自定义字段的 ID)、post_id(自定义字段属于的文章的 ID)、meta_key(自定义字段的名字)和 meta_value(自定义字段的值),一般我们只需要注意 meta_key 和 meta_value 两个项目即可。
正是因为这样,每篇文章都可以有相同名字但不同值的自定义字段,而且可以有无限个自定义字段,任何的插件和主题都可以利用自定义字段对文章信息进行扩展。
一篇文章的自定义字段的名字是可以重复的。
添加字段
自定义字段可以在文章编辑页面操作,但本文主要写关于开发的事情。
添加自定义字段,可以使用 add_post_meta() 函数:
add_post_meta( $post_id, $meta_key, $meta_value, $unique );
参数:
$post_id
(整数)(必须)添加自定义字段的文章的 ID.
默认值:None
$meta_key
(字符串)(必须)自定义字段的名称。
默认值:None
$meta_value
(混合)(必须)自定义字段的值。
默认值:None
$unique
(布尔)(可选)如果已经有相同名字的字段,是否重复添加。True 允许;False 不允许。
默认值:False
更新字段
要更新一个字段的值,可以使用 update_post_meta() 函数:
update_post_meta( $post_id, $meta_key, $meta_value, $prev_value );
参数:
$post_id
(整数)(必须)更新自定义字段的文章的 ID.
默认值:None
$meta_key
(字符串)(必须)更新的自定义字段的名称。
默认值:None
$meta_value
(混合)(必须)更新的自定义字段的值。
默认值:None
$prev_value
(混合)(可选)此参数只有在一篇文章有多个相同名称的自定义字段时才有用。如果留空,则更新所有同名的字段,否则则更新和此参数值相同的值的字段。
默认值:空字符串
获取字段
获取字段可以使用 get_post_meta() 函数:
get_post_meta( $post_id, $key, $single );
参数:
$post_id
(整数)(必须)要获取字段的文章 ID,如果在循环中,可以使用 get_the_ID() 来设置。
默认值:None
$key
(字符串)(可选)要获取的字段的名称。
默认值:None
$single
(布尔)(可选)如果为 True 则返回一个字符串;如果为 False 则返回数组,且相同键值的自定义字段的值会按照添加顺序组合成一个序列数组。
默认值:False
例子
下边是一个浏览统计的简单例子:
function Bing_statistics_visitors( $cache = false ){ if( !is_singular() ) return; global $post; $id = $post->ID; if( get_post( $id )->post_status != 'publish' ) return; $post_views = (int) get_post_meta( $id, 'views', true ); update_post_meta( $id, 'views', ( $post_views + 1 ) ) || add_post_meta( $id, 'views', 1, true ); } add_action( 'wp_head', 'Bing_statistics_visitors' );
function Bing_get_views(){ global $post; $views = number_format( (int) get_post_meta( $post->ID, 'views', true ) ); return $views; }
不可见的自定义字段
虽然在数据库里存在很多 WordPress 自己创建的自定义字段,但是在文章编辑器的 “自定义栏目” 里却并没有显示(没有 “自定义栏目” 板块请在右上角的 “显示选项” 开启),比如特色图像、自定义页面模板和评论是否开启等等。
如果仔细观察,会发现这些自定义字段的名字都是以下划线 “_” 开头的,所以说,以下划线 “_” 开头的自定义字段并不会显示给用户,the_meta() 函数也不会输出,对用户来说是隐藏的。
利用这个特性,我们可以把不想让用户随便修改的字段、会让用户感到困惑的字段,比如已经提供设置界面的设置选项、缓存数据等等,以免出现错误。
下边是一个小例子:
add_post_meta( get_the_ID(), '_time_diff', time() );
另外,如果自定义字段储存的内容是数组即使名字前边不是下划线 “_” 也不会显示。
您可能感兴趣的文章:
- WordPress判断用户是否登录的代码
- 详解WordPress中提醒安装插件以及隐藏插件的功能实现
- 给WordPress的编辑后台添加提示框的代码实例分享
- 详解WordPress开发中过滤属性以及Sql语句的函数使用
- WordPress中创建用户角色的相关PHP函数使用详解

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

要使用 WordPress 主機建站,需要:選擇一個可靠的主機提供商。購買一個域名。設置 WordPress 主機帳戶。選擇一個主題。添加頁面和文章。安裝插件。自定義您的網站。發布您的網站。

更換 WordPress 主題頭部圖片的分步指南:登錄 WordPress 儀錶盤,導航至“外觀”>“主題”。選擇要編輯的主題,然後單擊“自定義”。打開“主題選項”面板並尋找“網站標頭”或“頭部圖片”選項。單擊“選擇圖像”按鈕並上傳新的頭部圖片。裁剪圖像並單擊“保存並裁剪”。單擊“保存並發布”按鈕以更新更改。

WordPress 屏蔽 IP 的插件選擇至關重要。可考慮以下類型:基於 .htaccess:高效,但操作複雜;數據庫操作:靈活,但效率較低;基於防火牆:安全性能高,但配置複雜;自行編寫:最高控制權,但需要更多技術水平。

可以通過以下方法查看 WordPress 前端:登錄儀錶盤並切換到“查看站點”選項卡;使用無頭瀏覽器自動化查看過程;安裝 WordPress 插件在儀錶盤內預覽前端;通過本地 URL 查看前端(如果 WordPress 在本地設置)。

導入 WordPress 源碼需要以下步驟:創建子主題以進行主題修改。導入源碼,覆蓋子主題中的文件。激活子主題,使其生效。測試更改,確保一切正常。

WordPress 編輯日期可以通過三種方法取消:1. 安裝 Enable Post Date Disable 插件;2. 在 functions.php 文件中添加代碼;3. 手動編輯 wp_posts 表中的 post_modified 列。

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。
