具有相同名称的多个自定义字段

时间:2013-04-01 作者:drake035

是否可以有几个同名的自定义字段?

例如,我有一个名为“促销”的自定义字段,用于名为“事件”的CPT。有时,同一活动会有多个促销活动,每个促销活动针对特定类型的参与者。因此,我希望有一个值为“X,a”的“升级”自定义字段和另一个值为“Y,B”的“升级”自定义字段。

我试图创建这个,然后用get_post_meta() 并使用显示结果print_r(), 但我只得到一个值(“X,A”)。

代码如下:

$event_promotion = get_post_meta($post->ID, "Event Promotion", true); print_r($event_promotion);
也许这样做是不可能的?

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

是的,可能有多个字段具有相同的键。

使用时get_post_meta($post_id, $key, $single), 确保设置$single 参数到false (或者只需将其关闭,因为它默认为false).

get_post_meta( $post->ID, \'Event Promotion\', false )

get_post_meta( $post->ID, \'Event Promotion\' )
这将返回一个包含键的每个值(您所期望的值)的数组。如果您设置$singletrue 它将以字符串形式返回指定键的第一个值(您当前获得的值)。

参考文献:

http://codex.wordpress.org/Custom_Fields

http://codex.wordpress.org/Function_Reference/get_post_meta

SO网友:jcakec

这就是PHP处理名称的方式。尝试将字段命名为promotion[],让PHP知道这是一个元素数组。

结束

相关推荐