首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress codex: php用于当前用户头像的URL

Wordpress codex: php用于当前用户头像的URL
EN

Stack Overflow用户
提问于 2014-01-23 22:07:13
回答 2查看 4.2K关注 0票数 0

我想知道是否有办法在wordpress中获得当前登录用户头像的URI/URL?我发现这是一种使用get_avatar (放在主题functions.php中的php下面)生成插入当前用户头像的短代码的方法:

代码语言:javascript
复制
<?php

function logged_in_user_avatar_shortcode() {
if ( is_user_logged_in() ) {
global $current_user;
get_currentuserinfo();
return get_avatar( $current_user->ID );
}
}
add_shortcode('logged-in-user-avatar', 'logged_in_user_avatar_shortcode');

?>

但是,这将返回整个图像,包括属性(img src、class、width、height、alt)。我只想返回URL,因为我已经在模板中为我的图像设置了所有属性。

尝试制作这样的东西:

代码语言:javascript
复制
<img src="[shortcode-for-avatar-url]" class="myclass" etc >

有谁知道这样做的方法吗?

非常感谢你提前

EN

回答 2

Stack Overflow用户

发布于 2014-01-23 22:37:59

您可以使用preg_match查找URL:

代码语言:javascript
复制
function logged_in_user_avatar_shortcode()
{
    if ( is_user_logged_in() )
    {
        global $current_user;
        $avatar = get_avatar( $current_user->ID );
        preg_match("/src=(['\"])(.*?)\1/", $avatar, $match);
        return $match[2];
    }
}
add_shortcode('logged-in-user-avatar', 'logged_in_user_avatar_shortcode');
票数 1
EN

Stack Overflow用户

发布于 2014-01-23 23:40:46

在最近的WordPress安装中,我编写了一个PHP函数来获取用户gravatar,如果WordPress低于2.5版,我的函数使用了一种不同的方式来检索用户gravatar。可以在下面找到一个稍微修改过的版本,它只是简单地输出用户的gravatar URI。

代码语言:javascript
复制
// Fallback for WP < 2.5
global $post;

$gravatar_post_id = get_queried_object_id();
$gravatar_author_id = get_post_field('post_author', $gravatar_post_id) || $post->post_author;//get_the_author_meta('ID');
$gravatar_email = get_the_author_meta('user_email', $gravatar_author_id);

$gravatar_hash = md5(strtolower(trim($gravatar_email)));
$gravatar_size = 68;
$gravatar_default = urlencode('mm');
$gravatar_rating = 'PG';
$gravatar_uri = 'http://www.gravatar.com/avatar/'.$gravatar_hash.'.jpg?s='.$gravatar_size.'&amp;d='.$gravatar_default.'&amp;r='.$gravatar_rating.'';

echo $gravatar_uri; // URI of GRAVATAR
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21310487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档