WordPress.org

Codex

Attention Interested in functions, hooks, classes, or methods? Check out the new WordPress Code Reference!

zh-cn:函数参考/add post meta

介绍

添加一个 custom field (也被叫做 元数据) 到一个可以使任何 Post Types 的页面 . 一个自定义字段必须是一对有效的key–value。

注意:在一个页面中如果自定义字段给出了重复的key,另一已经存在的有着相同key的自定义字段将会不起作用,除非$unique参数被设置为true

用法

 <?php add_post_meta($post_id$meta_key$meta_value$unique); ?> 

参数

$post_id
(integer) (required) 需要自定义字段的文章ID
Default: None
$meta_key
(string) (required) 需要自定义字段的key
Default: None
$meta_value
(mixed) (required) 需要自定义字段的value。 如果给出一个array,它将会被序列化为string
Default: None
$unique
(boolean) (optional) key是否唯一。 当设置为true时, 重复key将不会被添加.
Default: false

返回值

(boolean|integer) 
如果成功,返回生效的ID, 验证信息为 true. 如果 $unique 参数设置为 true 自定义字段已经存在,返回 false

例子

举例用法

<?php add_post_meta( 68, 'my_key', 47 ); ?>

增加一个新的自定义字段

更新或创建一个自定义字段

<?php
if ( ! add_post_meta( 7, 'fruit', 'banana', true ) ) { 
   update_post_meta( 7, 'fruit', 'banana' );
}

其他举例

仅当字段不存在时创建

<?php add_post_meta( 68, 'my_key', '47', true ); ?>

添加一系列相同key不同值的自定义字段 'my_key':

<?php add_post_meta( 68, 'my_key', '47' ); ?>
<?php add_post_meta( 68, 'my_key', '682' ); ?>
<?php add_post_meta( 68, 'my_key', 'The quick, brown fox jumped over the lazy dog.' ); ?>
...

查看更多: post_meta Functions Examples

隐藏自定义字段

如果你是一个开发者,你想要使用自定义字段去储存插件或模板的参数,请注意WordPress将不会显示以 "_" (underscore) 开头的自定义字段在 post edit 页面,或者使用 the_meta() 模板函数。这些例子展示了 add_meta_box() 使用的一般方法。

举个例子:

<?php add_post_meta( 68, '_color', 'red', true ); ?>

将会添加一个新的自定义字段key为 '_color' 值为 'red' 但不会在页面编辑中显示。

隐藏数组

另外,如果 $meta_value 参数是数组, 它将 不会 在页面编辑中显示, 即使你不以下划线开头。

注意

转义字符

因为元数据通过 stripslashes() 函数,你需要小心转义字符 \ 。 你可以查看更多细节在 update_post_meta() 文档。

源码

add_post_meta() 位于 wp-includes/post.php 文件

更新日志

版本号 1.5.0

版本

Custom Fields: the_meta(), get_post_meta(), add_post_meta(), update_post_meta(), delete_post_meta(), get_post_custom(), get_post_custom_values(), get_post_custom_keys() (See Also: post_meta Function Examples)

See also index of Function Reference and index of Template Tags.