在wordpress中使用get_avatar

时间:2012-12-18 09:30:53

标签: php wordpress

此代码将显示某个类别的最新帖子。帖子只会显示 摘录,旁边是用户头像。

注意:我正在使用名为local avatar

的插件
    //display newest post// 
    <?php
       global $post;
       $args = array( 'numberposts' => 1, 'category' => 1 );
       $myposts = get_posts( $args );
       foreach( $myposts as $post ):setup_postdata($post); ?>

       //gets user avatar and excerpt//
       <?php echo get_avatar( get_the_author_meta( 'user_email' )); ?>
       <a href="<?php the_permalink(); ?>"><?php echo get_excerpt(100); ?>... </a>

     <?php endforeach; ?>

根据wordpress,如果我想显示用户头像我应该在循环<?php echo get_avatar( $id_or_email, $size = '50'); ?>内包含以下内容 此代码仅显示默认头像。

所以我使用了这个,这是从默认的wordpress模板中获取的  <?php echo get_avatar( get_the_author_meta( 'user_email' )); ?>本地上传的头像和gravatar都有效。

我只想清楚为什么后者有效,而不是在wordpress codex中找到的那个。

1 个答案:

答案 0 :(得分:0)

它们都是完全相同的功能,除了一个是从WordPress documentation获得的指南,其中一个是在行动中。

让我解释一下:

$id_or_email$size = '50'是占位符,用于显示get_avatar()函数所采用的参数类型。因为$id_or_email默认情况下不是Wordpress中声明的变量,所以它的值为undefined。所以你真正写的是:

get_avatar(undefined, 50)

get_avatar()要求用户的ID或电子邮件地址作为返回其头像的第一个参数。因为你提供它,这些Wordpress都不会回到默认的头像上。

由于get_the_author_meta( 'user_email' )会返回一个电子邮件地址,因此您已成功完成get_avatar()所需的参数。第二个参数$size是可选的,默认为96。

有关更多用途,请参阅http://codex.wordpress.org/Function_Reference/get_avatar#Examples