如何获取WordPress中get_avatar_url函数的URL

问题描述 投票:0回答:5

你能帮我解决我的问题吗?

我想做的是获取 WordPress 中 get_avatar_url() 函数的确切 URL。然后使用该 URL 作为背景图像 url。

这是我的代码的样子。

<?php $avatar_url = get_avatar_url(get_avatar($author->ID, 150), array("size"=>260)); ?>
<div class="col-xs-5 nopadding author-picture" style="background: url('<?php echo $avatar_url; ?>')">
    <a class="author-block " href="<?php echo get_author_posts_url($author->ID); ?>">
          <figure class="author-picture">
                 <?php echo get_avatar($author->ID, 150); ?>
          </figure>
    </a>
</div>

但是,在页面上它返回的结果是这样的:

wordpress get avatar
5个回答
1
投票

get_avatar_url
的用法是
get_avatar_url( mixed $id_or_email, array $args = null )
。为什么要将
get_avatar
传递给这个函数。

您可以像这样直接使用它:

get_avatar_url($author->ID, array("size"=>260 ));

1
投票

像这样:

<?php $avatar_url = get_avatar_url(get_the_author_meta( 'ID' ), array('size' => 450)); ?>

<div class="col-xs-5 nopadding author-picture" style="background: url('<?php echo esc_url( $avatar_url ); ?>')">

0
投票

我认为后台URL规则必须包含可识别的图像扩展名(jpg、jpeg、gif、png)。

要实现这一目标,您可以:

首先,获取指定用户ID的头像的整个html...

...然后使用正则表达式从中提取包含图像扩展名的 url...

最后在您的代码中使用它,如下所示。

$imageHtml = get_avatar($author->ID, 150); 

$imageUrlWithType = [];

preg_match('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $imageHtml, $imageUrlWithType);

<div class="col-xs-5 nopadding author-picture" style="background: url('<?php echo $imageUrlWithType[0]; ?>')">
    <a class="author-block " href="<?php echo get_author_posts_url($author->ID); ?>">
          <figure class="author-picture">
                 <?php echo get_avatar($author->ID, 150); ?>
          </figure>
    </a>
</div>

0
投票

首先你应该使用 get_post_field() 函数来获取作者 ID

$authorID = get_post_field('post_author', get_the_ID());

然后你可以使用 get_avatar_url() 函数获取头像 URL,如下所示:

<img src="<?php echo esc_url( get_avatar_url( $authorID , 150 ) ); ?>"/>

-1
投票
get_avatar_url( $current_user->ID );
© www.soinside.com 2019 - 2024. All rights reserved.