get_post_meta()
只是一个包装get_metadata()
. 如果我们查看来源或get_metadata()
, 我们会发现,如果$key
为空,$single
由于前面的以下代码行而被忽略$single
已应用
if ( ! $meta_key ) {
return $meta_cache;
}
因此,在您的用例中,
$single
永远也做不到这件事。
double key=>value pairs仅仅意味着您有一个特定键的值数组,数组中的两个值是相同的值。这是由负责将数据保存到自定义字段的代码中的某个缺陷引起的。您应该去搜索特定的代码片段,并对特定的问题进行排序。
我不能告诉你哪个是正确的值,哪个不是,这是你也无法回答的。正如我所说,您需要对负责保存自定义字段数据的代码进行排序。
同时,您可以打破foreach循环,只从自定义字段中获取第一个值,但我不建议将此作为解决方案,该解决方案将涉及对保存自定义字段数据的方式进行排序
$postmeta = get_post_meta($resultid, \'\', true);
foreach ($postmeta as $meta_key => $v) {
foreach ($v as $kk => $meta_value) {
echo "$meta_key => $meta_value.\\n";
break;
}
}