如果在get\\u post\\u meta中没有指定$键(“”)并将$single设置为true,那么它返回的所有键仍然是一个值数组,而不是只返回一个值,有没有办法避免这种情况。
$meta = get_post_meta(get_the_ID(), \'\', true);
print_r($meta);
//This is giving me:
//Array ( [key_1] => Array ( [0] => value_1 ), [key_2] => Array ( [0] => value_2 ) )
//And I will expect:
//Array ( [key_1] => value_1, [key_2] => value_2 )
我知道我可以访问数据写入数组[key\\u 1][0],但考虑到我声明$single为TRUE,我不明白为什么。
我可能错过了什么。。。
最合适的回答,由SO网友:Paul \'Sparrow Hawk\' Biron 整理而成
get_post_meta()
呼叫get_metadata(), 其参数说明如下:
$single(bool)(可选)如果为true,则仅返回指定meta\\u键的第一个值。如果未指定meta\\u键,则此参数无效。
默认值:false
既然你要通过\'\'
作为meta\\u键$single
参数被忽略。
这解释了吗?
Edit:
如果只需要每个元键的第一个值,则只需执行以下操作:
array_map (\'array_shift\', get_post_meta (get_the_ID (), \'\')) ;