我不能评论尼古拉斯的回答,但我同意他的看法。如果我正确理解您的问题,那是因为您正在使用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> ، \' ;
}