如何管理 WordPress 帖子元数据
术语 WordPress 帖子元数据是指有关数据的数据。就 WordPress 而言,它是关于帖子、用户、评论和术语的信息。
由于 WordPress 中元数据的多对一关系,您有很多可能性。您可以拥有任意多的元设置,并在其中存储几乎所有内容。
添加元数据
使用 add_post_meta(),您可以简单地将信息添加到您的帖子中。
post_id、meta_key、meta_value 和唯一标志都被函数接受。
您的插件使用 meta_key 来引用代码其他部分中的元值。
像 mycrazymetakeyname 这样的东西会起作用,链接到您的插件或主题的前缀后跟键的描述会起作用,
但是与您的插件或主题相关的前缀后跟键的描述会更有益。
wporg_featured_menu 是一种可能性。
值得注意的是,可以多次使用相同的 meta_key 来记录不同的元数据变体(请参阅下面的唯一标志)。字符串、整数或数组可用作元值。如果值是一个数组,它会在放入数据库之前自动序列化。
您可以使用唯一标志来指定该键是否应该是唯一的。非唯一键是可以在帖子的多个版本中找到的键,例如价格。
如果您只想要一个帖子的价格,请将其标记为唯一的,并且 meta_key 将只有一个值。
更新元数据
如果您希望更新已存在的密钥,请使用 update_post_meta()。
如果您调用此函数并且密钥不存在,它将为您生成它,就像您使用 add_post_meta() 一样。
该函数接收 post_id、meta_key、meta_value 和唯一标志,与 add_post_meta() 相同。
删除元数据
post_id、meta_key 和可能的 meta_value 被发送到
delete_post_meta()。它完全符合它在锡上所说的。
字符转义
因为使用 stripslashes() 函数保存后元值,所以在发送可能包含转义字符的值
(例如 JSON)时必须小心。
考虑 JSON 值
{"key":"value with \"escaped quotes\""}:
$escaped_json = '{"key":"value with \"escaped quotes\""}';
update_post_meta( $id, 'escaped_json', $escaped_json );
$broken = get_post_meta( $id, 'escaped_json', true );
/*
$broken, after stripslashes(), ends up unparsable:
{"key":"value with "escaped quotes""}
*/
解决方法。 wp_slash()
您可以通过使用函数 wp_slash()(在 WP 3.6 中添加)
添加另一个级别的转义来补偿对 stripslashes() 的调用:
$escaped_json = '{"key":"value with \"escaped quotes\""}';
update_post_meta( $id, 'double_escaped_json', wp_slash( $escaped_json ) );
$fixed = get_post_meta( $id, 'double_escaped_json', true );
/*
$fixed, after stripslashes(), ends up as desired:
{"key":"value with \"escaped quotes\""}
*/
隐藏的自定义字段
如果您是插件或主题开发人员并希望利用自定义字段来存储参数,
请记住,带有以“_”(下划线)开头的元键的自定义字段不会出现在帖子编辑的自定义字段列表中
页面或使用 the_meta() 模板函数时。
使用 add_meta_box() 方法可以方便地以独特的方式显示这些自定义字段。
以下示例
将创建一个具有元键名称“_color”和元值“红色”的唯一自定义字段,
但它不会出现在帖子编辑屏幕中:
add_post_meta( 68, '_color', 'red', true );
如果您有任何疑问请访问我们的网站
转:
https://dev.to/softhunt/how-to-manage-wordpress-post-metadata-6h4
相关文章