使用可以很容易地添加元数据添加post_meta()。该函数接受帖子id
,一个元键(_K)
,一个元值(_V)
、和独特的
标志。
这个元键(_K)
是插件如何在代码的其他地方引用元值。有点像mycrammetakeyname(我的疯狂名称)
可以,但是与插件或主题相关的前缀加上键的描述会更有用。wporg特性菜单
可能是个好主意。应该注意的是元键(_K)
可以多次使用来存储元数据的变体(请参阅下面的唯一标志)。
这个元值(_V)
可以是字符串、整数或数组。如果它是一个数组,它将在存储到数据库之前自动序列化。
这个独特的
标志允许您声明此密钥是否应该是唯一的。A类不唯一键是一个帖子可以有多种变体的东西,比如价格。
如果你只想一你应该标出帖子的价格独特的
和元键(_K)
将只有一个值。
如果密钥已经存在并且您想更新它,请使用更新post_meta()。如果您使用此功能,并且按键不是存在,然后它将创建它,就像您使用添加post_meta().
类似添加post_meta(),函数接受帖子id
,一个元键(_K)
、和元值(_V)
。它还接受可选上一个值(_V)
–如果指定,将导致函数仅更新具有此值的现有元数据条目。如果没有提供,该函数默认更新所有条目。
删除post_meta()需要一个职位id
,一个元键(_K)
、和(可选)元值(_V)
。它完全符合名字的意思。
后元值通过条带斜线()函数,所以在传递可能包含转义字符的值(例如JSON)时需要小心。
考虑JSON值{“key”:“value with”转义引号“”}
:
$escaped_json='{“key”:“value with”转义引号“”}';update_post_meta($id,'escaped_json',$escaped.json);$breaked=get_post_meta($id,'escaped_json',true);/*$breaked,在stripslashes()之后,结果无法解析:{“key”:“带“转义引号”的值”}*/
通过使用函数再添加一级转义wp_slash()(WP 3.6中介绍),您可以补偿对条带斜线():
$escaped_json='{“key”:“value with”转义引号“”}';update_post_meta($id,'double_escaped_json',wp_slash($escaped.json));$fixed=get_post_meta($id,'double_escaped_json',true);/*$fixed,在stripslashes()之后,按要求结束:{“key”:“value with”转义引号“”}*/
如果你是一个插件或主题开发人员,并且你计划使用自定义字段来存储参数,重要的是要注意WordPress不会显示具有元键(_K)
在后期编辑屏幕的自定义字段列表中以“_”(下划线)开头,或者在使用meta(_)模板函数。
这对于使用添加meta_box()功能。
下面的示例将使用元键(_K)
名称“_color”和元值(_V)
“红色”,但此自定义字段不会显示在后期编辑屏幕中:
add_post_meta(68,'_color','red',true);
此外,如果元值(_V)
是数组,它将不会显示在页面编辑屏幕上,即使您没有为元键(_K)
带有下划线的名称。