wordpress 需要帮助添加ACF用户链接到使用ACF用户字段的代码

svmlkihl  于 2023-06-21  发布在  WordPress
关注(0)|答案(1)|浏览(154)

我如何在这里获得用户链接。我使用ACF用户字段作为数组。

<?php
$user = get_field("medically_reviewed_by");
if( $user ): ?>
    <h3>Medically Reviewed By: <?php echo $user['display_name']; ?></h3>
<?php endif; ?>

谢谢你
我不知道我到底需要补充什么。我尝试了另一个版本的doing as an object:

<?php
$users = get_field("medically_reviewed_by");
if( $users ): ?>
            <a href="<?php echo esc_attr($user->user_url); ?>"><?php echo $user->display_name; ?>
<?php endif; ?>

但这也没有得到链接,只是留下了href空白。
下面是functions.php文件中新用户角色的自定义代码:
/* 创建医学审查员用户角色 */

add_role(
    'medical_reviewer', //  System name of the role.
    __( 'Medical Reviewer'  ), // Display name of the role.
    array(
        'read'  => true,
        'delete_posts'  => true,
        'delete_published_posts' => true,
        'edit_posts'   => true,
        'publish_posts' => true,
        'edit_published_posts'   => true,
        'upload_files'  => true,
        'moderate_comments'=> true, // This user will be able to moderate the comments.
    )
);
hjzp0vay

hjzp0vay1#

要使用ACF用户字段包含用户链接,可以按如下方式修改代码:

<?PHP
 $user = get_field("medically_reviewed_by");
 if ($user) {
$user_id = $user['ID'];
$user_data = get_userdata($user_id);
$user_display_name = $user_data->display_name;
$user_url = get_author_posts_url($user_id);
?>
<h3>Medically Reviewed By: <a href="<?php echo esc_url($user_url); ?>"><?PHP 
echo esc_html($user_display_name); ?></a></h3>
<?php } ?>

在这段代码中,我们从ACF用户字段中检索用户ID,并使用它来通过get_userdata()获取用户数据。然后,我们获得显示名称并使用get_author_posts_url()生成用户的配置文件URL。最后,我们将显示名称作为链接输出。
请确保ACF字段名称(medically_reviewed_by)与您使用的实际字段名称匹配。
关于用户角色代码,您似乎已经使用add_role()正确创建了“Medical Reviewer”角色。这将允许具有该角色的用户拥有阵列中指定的功能。

相关问题