问题描述
我无法显示 ACF 图像字段。您可以在附加的屏幕截图中看到该字段的设置方式。我在模板文件中使用下面的代码来显示来自 Authors 角色的各个字段:
<?PHP
$args = array(
'role' => 'Author','orderby' => 'user_nicename','order' => 'ASC'
);
$users = get_users( $args );
echo '<ul>';
foreach ( $users as $user ) {
echo $user->display_name . '<br>';
echo $user->title . '<br>';
echo $user->short_bio . '<br>';
echo $user->full_bio . '<br>';
echo $user->author_photo . '<br>';
}
echo '</ul>';
?>
最后可以看到author_photo字段,但它只返回一个数值,而不是图片url,甚至该字段的返回格式设置为图片网址。
任何帮助将不胜感激。
解决方法
好吧,您需要以不同于您已经尝试过的方式为特定用户获取 ACF field
。
id 应包含“user_”字样和格式中的用户 ID; “user_{$user_id}”。
From ACF Docs
$args = array(
'role' => 'Author','orderby' => 'user_nicename','order' => 'ASC'
);
$users = get_users( $args );
echo '<ul>';
foreach ( $users as $user ) {
$author_array_img = get_field('author_photo','user_' . $user->ID);
echo $user->display_name . '<br>';
echo $user->title . '<br>';
echo $user->short_bio . '<br>';
echo $user->full_bio . '<br>';
echo $author_array_img['sizes']['thumbnail'] . '<br>';
}
echo '</ul>';
让我知道你是否能够让它工作!