将多个值添加到发布元关键字

时间:2012-09-02 作者:Michael Ecklund

我有一个关于向一个post meta键添加多个post meta值的问题。

这是一个link 到WordPressadd_post_meta(); 有问题的功能。

这个$unique 参数对我来说有点模糊。

是否希望密钥唯一。当设置为true时,这将确保没有以$meta\\u key作为其键附加到帖子的自定义字段,如果此类字段已经存在,则不会添加该键。

如果设置为true,我是否能够向单个post元键添加多个值?

我想为每个帖子创建一个唯一的帖子元键。此密钥设置为隐藏密钥。(前缀为下划线-示例:$meta_key = \'_task-name\';)

是否可以将多个post meta值以数组格式添加到此唯一的post meta键?

因此,当我使用get_post_meta($post_id, $meta_key); 一篇文章可能会分配3到4个任务名称。

仅仅使用分类法和术语会更好吗?

2 个回复
最合适的回答,由SO网友:Michael Ecklund 整理而成

对于任何可能有同样问题的人。。。

add_post_meta($post_id, $meta_key, $meta_value, $unique);

这个$unique 参数意味着对于要作为post meta添加到post对象的键/值,必须没有现有的post meta键。

可以将单个值或数组存储为post meta。存储的数据类型没有限制。

get_post_meta($post_id, $key, $single);

当您使用从post对象获取post meta时get_post_meta(); 这个$single 参数意味着您要么希望获取一个结果作为字符串,要么获取存储在该特定post元键中的整个数据数组。

在我看来,如果计划为一个post对象存储多个数据段,最好使用分类法和术语。如果您只存储一个快速的小数组,那么将数据存储为数组作为post对象的post meta是一个更简单的解决方案。

SO网友:Douglas.Sesar

可以将关联数组插入post\\u meta\\u字段。

下面是一个快速获取数据的小函数(未测试):

function grab_task_name_array($post_id) {
    $new_array = array();
    $array = get_post_meta($post_id,\'_task-name\'); //do not put true as third parameter (this would return string and not array)
    foreach($array[0] as $key => $value)
     $new_array[$key] = $value;

    return $new_array;
}
如果要存储多维数组,则需要进行更多检查。

结束

相关推荐

How to add taxonomy in menus?

书籍(自定义帖子类型)小说(税)科学(税)历史(税)--书籍体裁(税务)小说(术语)科学(学期)历史(学期)以下哪一项是做这件事的“好方法”?对于前一个(这是我目前在管理菜单中的功能,我为每个功能都提供了“register\\u taxonomy”功能),我无法选择要在菜单中显示的“Tax”。而对于后者,我可以将它们添加到菜单中,只需要一个“register\\u taxonomy”函数。