wordpress 在“作者”页面上显示包含ACF/高级自定义字段的图像用户字段

s71maibg  于 2022-12-11  发布在  WordPress
关注(0)|答案(3)|浏览(165)

我想在作者页面上显示一个自定义的头像图片字段。下面的代码对我来说是有效的,但是显示的是当前用户的字段。它应该显示特定作者的头像字段。

the_field('avatar', 'user_'. $user_ID);
?>
    
<img src="<?php the_field('avatar', 'user_'. $user_ID); ?>" width="50" height="50"> ```
gr8qqesn

gr8qqesn1#

需要获取作者ID ...您可以在author.php模板上使用get_queried_object_id(),如下所示:

<img src="<?php the_field('avatar', 'user_'. get_queried_object_id()); ?>" width="50" height="50" />
qjp7pelc

qjp7pelc2#

只需使用get_users()

$siteUsers = get_users( array( 'role__in' => array( 'administrator', 'subscriber' ) ) ); // u can change
    foreach ( $siteUsers as $user ) {
        echo '<span>' . esc_html( $user->display_name ) . '</span><br />';
        echo '<img src="' . esc_attr( get_field('field_name', 'user_'.$user->ID) ) .'" alt="' . esc_attr( $user->display_name ) . '" /><br />';
    }
qrjkbowd

qrjkbowd3#

您需要使用get_queried_object_id()来接收当前作者的ID。还要考虑ACF图像字段的“返回格式”选项,因为此设置控制get_field()的响应。
您也可以使用ACF Views plugin,这是一个免费的插件,它允许使用简码显示任何ACF字段,而无需编码。只需从列表中选择特定字段,您将收到一个简码,它可以粘贴到任何地方,任何页面或模板。标记是自动生成的,图像字段将显示,而无需您的任何额外努力。
在您的例子中,要为使用此插件的其他用户显示图像,您需要使用他们的短代码的object-id参数,因此它将是:do_shortcode('[acf_views view-id="2221" object-id="'.get_queried_object_id().'" name="Page fields"]');
这里有一个他们官方网站的链接-ACF Views: Display ACF fields and Posts。更多的信息沿着他们的YouTube教程和文档的链接可以在那里找到。

相关问题