Php 检查用户是否有Gravatar[WordPress]

Php 检查用户是否有Gravatar[WordPress],php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,感谢Rene Korss几乎帮助解决了这个问题,并且每次都在讨论中回复 我想检查发表评论的用户是否有头像?若用户拥有头像(意味着拥有gravatar帐户),则显示gravatar头像或显示我在else部分中定义的图像。任何帮助都将受到感谢 我当前正在使用此代码: if(get_avatar()==1 ) { echo get_avatar($comment,$size='48',$default='<path_to_url>'

感谢Rene Korss几乎帮助解决了这个问题,并且每次都在讨论中回复

我想检查发表评论的用户是否有头像?若用户拥有头像(意味着拥有gravatar帐户),则显示gravatar头像或显示我在else部分中定义的图像。任何帮助都将受到感谢

我当前正在使用此代码:

if(get_avatar()==1 )
            {
                echo get_avatar($comment,$size='48',$default='<path_to_url>' ); 
            }
        else
            {   ?>
                <img src="<?php bloginfo('template_directory'); ?>/img/admin.jpg" alt=""><?php 
            }   ?>
 stdClass Object ( 
 [comment_ID] => 9 
 [comment_post_ID] => 104 
 [comment_author] => Navnish 
 [comment_author_email] => ask@navnishbhardwaj.com
 [comment_author_url] => 
 [comment_author_IP] => 118.146.54.35 
 [comment_date] => 2015-09-23 14:33:11 
 [comment_date_gmt] => 2015-09-23 14:33:11 
 [comment_content] => this is comment by Admin
 [comment_karma] => 0 
 [comment_approved] => 1 
 [comment_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 
 [comment_type] => 
 [comment_parent] => 0 
 [user_id] => 1 
 )
$avatar = get_avatar( $comment->comment_author_email, $size = '48', $default = bloginfo( 'template_directory' ).'/img/admin.jpg' ); 
if( $avatar !== false )
{
    echo $avatar; 
}
使用此代码时:

<?php 
$avatar = get_avatar( get_the_author_meta( 'ID' ), $size = '48', $default = bloginfo( 'template_directory' ).'/img/admin.jpg' ); 
if( $avatar !== false )
{
echo $avatar; 
} 
?>
是:

获取化身()
为提供用户ID或电子邮件地址的用户检索化身。如果化身存在,则返回true

if(get_avatar($comment))
 {
   echo get_avatar($comment,$size='48',$default='<path_to_url>' ); 
 }
 else
 {   ?>
 <img src="<?php bloginfo('template_directory'); ?>/img/admin.jpg" alt=""><?php 
 }  
if(获取化身($comment))
{
echo get_avatar($comment,$size='48',$default='');
}
其他的
{   ?>
/img/admin.jpg“alt=”“>
get_avatar()
为提供用户ID或电子邮件地址的用户检索化身。如果存在化身,则返回true

if(get_avatar($comment))
 {
   echo get_avatar($comment,$size='48',$default='<path_to_url>' ); 
 }
 else
 {   ?>
 <img src="<?php bloginfo('template_directory'); ?>/img/admin.jpg" alt=""><?php 
 }  
if(获取化身($comment))
{
echo get_avatar($comment,$size='48',$default='');
}
其他的
{   ?>
/img/admin.jpg“alt=”“>
if(获取化身('user\u id')==1)
{
echo get_avatar($comment,$size='48',$default='');
}
其他的
{   ?>
/img/admin.jpg“alt=”“>
使用
get_avatar('id')
而不是
get_avatar()
如果(get_avatar('user_id')==1,则使用一些id


{
echo get_avatar($comment,$size='48',$default='');
}
其他的
{   ?>
/img/admin.jpg“alt=”“>

使用
get_avatar('id')
而不是
get_avatar()
使用一些id

试试这个。使用作者电子邮件应该会有帮助。另外,请注意,我没有两次调用
get_avatar
否则不需要
,因为如果avatar不存在,您可以设置要使用的
$default
图像

$avatar = get_avatar( $comment->comment_author_email, $size = '48', $default = bloginfo( 'template_directory' ).'/img/admin.jpg' ); 
if( $avatar !== false )
{
    echo $avatar; 
}

试试这个。使用作者电子邮件应该会有帮助。另外,请注意,我没有两次调用
get_avatar
否则不需要
,因为如果avatar不存在,您可以设置要使用的
$default
图像

$avatar = get_avatar( $comment->comment_author_email, $size = '48', $default = bloginfo( 'template_directory' ).'/img/admin.jpg' ); 
if( $avatar !== false )
{
    echo $avatar; 
}

另一个更通用的方法是:如果你不想在没有头像的情况下从gravatar服务中获取默认图像,但你只想知道它可能在这种情况下提供你自己的本地图像或做其他事情,那么你可以使用

(您要求gravatar服务提供指定“404”为默认“图像”的图像,然后检查服务器的答案)


这种方法的缺点是,你必须为每个化身发出一些额外的HTTP请求来检查它,这样会稍微减慢速度。

另一种更通用的方法:如果化身不存在,你不想从gravatar服务获取默认图像,但你只想知道它是否可能提供在这种情况下,请编辑您自己的本地图像或执行其他操作,然后您可以使用所建议的功能

(您要求gravatar服务提供指定“404”为默认“图像”的图像,然后检查服务器的答案)



这种方法的缺点是,您必须为每个化身发出一些额外的HTTP请求来检查它,这样会稍微减慢速度。

告诉我们如何获得
$comment
$comment是stdClass对象。我在问题中更新了$comment的值。告诉我们如何获得
$comment
$comment是stdClass对象。I have更新值$comment in question仍然仅当部分与IF(get_avatar())工作相同时,您如何使用函数作为参数获取$comment。我更新了$comment值。仍然仅当部分与IF(get_avatar())工作相同时如何使用函数作为参数获取$comments。我更新了$comment的值。当我写入if(get_avatar()=1)时,它不会返回任何内容。在这种情况下,网站停止工作。仅当(get_avatar('user_id')==1)只有其他部分工作时才完成白页。尝试此if(get_avatar('comment_approved')==1)实现了此功能。但是,如果(get_avatar('comment_approved')==0)在我编写时尝试此功能,如果(get_avatar()=1)它没有返回任何内容。在这种情况下,网站停止工作。仅当(get_avatar('user_id')==1)仅当其他部分工作时,才完成白色页面。如果(get_avatar('comment_approved')==1)正在工作,请尝试此功能实现了这一点。但是,仍然只在else部分工作(get_avatar('comment_approved')==0)尝试此获取错误。使用此代码的输出更新了问题。请查看它。这不是错误。它看起来像化身的URL?但不应该。缺少哪些图像
src
?尝试了img src。但是,只有我定义的图像工作。Gravatar avtar不工作。您可以说,它作为我们在start中使用的代码的其他结果返回。好吗是的。编辑了我的答案。请再试一次。我想我们快到了。:)看看我现在得到了什么结果。在问题结束时更新。出现错误。用此代码的输出更新了问题。请看看。这不是一个错误。它看起来像阿凡达的URL?但它不应该。缺少什么图像
src
?尝试了img src。但是,只有我定义的图像在工作。Gravatar avtar不工作。您可以说,对于我们在start中使用的代码,它将作为else结果返回。好的。编辑了我的答案。请重试。我想我们快到了…:)看看我现在得到了什么结果。在问题结束时更新。