
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress怎么使用自定义字段?
WP集市
2025-08-22
【WordPress教程】
692人已围观
咱玩WordPress写文章,默认就标题、内容、分类标签那几样,对吧?但有时候你想给文章加点额外的“私货”——比如写个产品测评,得标价格;发个资源帖,得塞下载链接;甚至给作者加个“隐藏身份”(比如“兼职铲屎官”)。这些默认编辑器搞不定的,就得靠“自定义字段”这玩意儿了。
先搞明白:自定义字段是个啥?
说白了,就是给文章/页面/自定义文章类型“贴小标签”——你可以存任何额外信息,比如数字、文本、链接,WordPress后台默认看不见,但你能通过代码把它“揪”出来显示在前端。举个例子:你写了篇美食教程,想标“烹饪难度”(简单/中等/地狱级),这“难度”就是自定义字段。
第一步:手动添加自定义字段(新手友好版)
别慌,不用写代码,先从后台手动玩起。
- 先让它显示出来:进文章编辑页(比如写新文章),右上角点“屏幕选项”,勾上“自定义字段”——对,默认它可能藏着,得手动叫出来。
- 添加字段:页面下方会出现“自定义字段”模块,左边“名称”填字段标识(比如
cooking_level
,就叫“烹饪难度”),右边“值”填具体内容(比如“中等”),点“添加自定义字段”就完事。
但这招有个坑:每次写文章都得手动输“名称”,万一输错一个字母(比如把cooking_level
写成cooking_leve
),前端就调不出来了。所以,常用的字段咱得用代码“焊死”在后台,省得手滑。
第二步:用代码注册固定字段(程序员版,重点来了!)
手动添加是临时方案,长期用还得写代码。打开你主题的functions.php
(别直接改父主题,最好用子主题,不然更新主题代码就没了,血的教训!),扔这段代码进去:
// 给文章添加“烹饪难度”自定义字段
function add_cooking_level_meta_box() {
// 注册一个元框,post是文章类型,也可以换成page(页面)或自定义文章类型
add_meta_box(
'cooking_level_box', // 元框ID(随便起,唯一就行)
'烹饪难度设置', // 后台显示的标题
'display_cooking_level_meta_box', // 显示字段的回调函数
'post', // 作用于文章类型
'normal', // 显示位置(normal/side/advanced)
'default' // 优先级
);
}
// 把这个函数挂到添加元框的钩子上
add_action('add_meta_boxes', 'add_cooking_level_meta_box');
// 显示字段的回调函数(就是后台编辑页要显示啥输入框)
function display_cooking_level_meta_box($post) {
// 获取已保存的值(如果有的话),post->ID是当前文章ID
$level = get_post_meta($post->ID, 'cooking_level', true);
// 输出一个下拉框,选难度
echo '
<label for="cooking_level">选择难度:</label>
<select name="cooking_level" id="cooking_level">
<option value="简单" '.selected($level, '简单', false).'>简单</option>
<option value="中等" '.selected($level, '中等', false).'>中等</option>
<option value="地狱级" '.selected($level, '地狱级', false).'>地狱级</option>
</select>
';
}
// 保存字段值(用户填了之后,得存进数据库啊)
function save_cooking_level_meta_box($post_id) {
// 检查权限,避免自动保存时误操作
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
// 检查用户有没有编辑权限
if (!current_user_can('edit_post', $post_id)) return;
// 如果提交了cooking_level,就保存它
if (isset($_POST['cooking_level'])) {
update_post_meta($post_id, 'cooking_level', sanitize_text_field($_POST['cooking_level']));
}
}
// 挂到保存文章的钩子上
add_action('save_post', 'save_cooking_level_meta_box');
写完保存,刷新文章编辑页,你会发现右边(或下方)多了个“烹饪难度设置”的框,直接下拉选就行,不用再手动输字段名了,爽吧?
第三步:前端显示自定义字段(让用户看见!)
存了字段还得显示出来才算完。比如你想在文章内容下方显示“烹饪难度”,打开主题的single.php
(文章详情页模板),找到文章内容输出的地方(一般是the_content()
函数附近),加这段代码:
// 获取当前文章的cooking_level字段值
$cooking_level = get_post_meta(get_the_ID(), 'cooking_level', true);
// 如果有值,就显示出来
if ($cooking_level) {
echo '<div class="eecc-37ec-77c8-1f6c cooking-level">烹饪难度:<strong>'.$cooking_level.'</strong></div>';
}
刷新前端文章页,就能看到“烹饪难度:中等”这样的文字了——搞定!你还可以用CSS给这个div加样式,比如红色字体标“地狱级”,醒目。
不想写代码?插件救急!
你要实在懒得写代码(咱程序员偶尔也偷个懒,不丢人),就用Advanced Custom Fields(ACF) 插件,后台直接拖拖拽拽建字段,文本框、下拉框、图片上传都有,可视化操作,比写代码快10倍。但咱还是得懂原生玩法,毕竟插件依赖多了,网站加载慢,你懂我意思吧?
总结一下:自定义字段能干嘛?
说白了,就是给WordPress“扩内存”——默认只有4G,你加个自定义字段,就能当8G用。产品页标价格、作者栏加社交账号、资源帖放百度云链接……只要你能想到的额外信息,它都能存。
动手试试吧!先手动加个简单字段,再用代码注册一个固定的,最后前端显示出来——其实很简单,玩两次就熟了。记住,WordPress的灵活性,很多时候就藏在这些“小功能”里,你不用它吧,好像也行,但用了之后,哎,那感觉就不一样了。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。

热门文章
