如何管理 WordPress 帖子元数据

2023-06-01 00:00:00 数据 管理 帖子

术语 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

相关文章