“自定义字段”是wordpress自带的功能
函数:add_meta_boxes()
自定义字段工作机制
WordPress 自定义字段通常有两个的变量:键 ( key ) 和值 ( value )。比如你想显示你写日志当时的心情,你可以把键叫做 “mood”(心情),显然在这里值就是 “高兴” 或者 “愤怒”。
通过后台添加的自定义栏目对应数据存放位置在wp_postmeta数据表中
一个自定义栏目可以对应多个值及获取方法
如何创建隐藏的自定义栏目
当我们为某篇日志或者页面创建一个自定义字段的时候,我们所写的信息将会存储到该日志或者页面中。换句话说,我们所创建的自定义字段的的数据是属于当前的日志或者页面,所以我们能够显示当前日志或者页面相关的自定义字段信息。
如何使用自定义字段
即如何在博客上显示自定义字段的数据。
方法1:
使用 the_meta()
这个模版函数,它会自动输出一个无序的列表,如下所示:
- Key1: Value of “Key1″
- Key2: Value of “Key2″
- Key3: Value of “Key3″
方法2:
使用 get_post_meta
()
这个模版函数。这个函数能够能按照自己的需求列出自定义字段
在模板文件中,加入:
<p>点击查看演示:<?php echo get_post_meta($post->ID, '演示地址', true); ?></p>
补充:get_post_meta
<?php $meta_name = get_post_meta($post->ID, $key, $single); ?>
参数
- $post->ID (整数)要添加自定义栏目文章的ID
- $key (字符串) 必须是此自定义栏目的名称
- $single (布尔型) (可选) 如果设为true, 则返回单个的自定义栏目的值。如果设为false, 则返回一个数组字符串型,即多个自定义栏目的值。
<table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table>
$post_id | |
$post_id | (int) (Required) Post ID. |
$key | (string) (Optional) The meta key to retrieve. By default, returns data for all keys. Default value: ” |
$single | (bool) (Optional) Whether to return a single value. This parameter has no effect if $key is not specified. Default value: false |
$post->ID (整数)要添加自定义栏目文章的ID
$key (字符串) 必须是此自定义栏目的名称
$single (布尔型) (可选) 如果设为true, 则返回单个的自定义栏目的值。如果设为false, 则返回一个数组字符串型,即多个自定义栏目的值。
(mixed)
这个函数返回值比较复杂:
[list]
如果只设置了 $post_id 的值,返回该日志的所有自定义字段的关联数组。
如果 $single 设置为 false 或者留空,返回指定 key 的所有值的一个数组。
如果 $single 设置为 true,返回指定 key 的第一个值(并且不是在一个数组中)。
如果没有东西可以返回的时候,返回空数组,除非 $single 设置为 true ,则返回空字符串。
还有一种特殊情况就是,自定义字段的值是序列化的数组,这样 $single 设置为 true,则返回未序列化的数组,而 $single 设置为 false 或者留空,则你会获取一个数组,其中的一个值是序列化之后的字符串,你需要使用 maybe_unserialize 函数将其解析成数组。
get_post_meta()需要用到当前文章ID,可以通过全局变量$post->ID获取
如何使用update_post_meta()方法更新自定义栏目
如何使用delete_post_meta()方法删除自定义栏