我不能评论尼古拉斯的回答,但我同意他的看法。如果我正确理解您的问题,那是因为您正在使用true 结束时:
$vals=get_post_meta($post_id, $key2, true);
$values = get_post_meta( $post_id, $key, true );
使用true时,从
Codex:
$single (bool)(可选)是否返回单个值。
Return 如果$single为false,则(mixed)将是一个数组。如果$single为true,则为元数据字段的值。
你不能foreach A.string, 只有arrays, 因此,如果您不使用false 相反,您的代码无法工作。
或者,如果您只需要post_meta, 继续使用true, 那你为什么要用foreach呢?你不需要它,你可以简单地使用它:
if($value != \'\') {
$author=get_post($value);
echo \'<a href="\'.get_post_permalink($value).\'" target="_blank">\'.$author->post_title .\'</a> ، \' ;
}