0

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

注意:我使用的插件叫做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'); ?> 此代码仅显示默认头像。

所以我使用了这个,它取自 <?php echo get_avatar( get_the_author_meta( 'user_email' )); ?>本地上传的头像和 gravatar 作品的默认 wordpress 模板。

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

4

1 回答 1

0

它们都是完全相同的功能,除了一个是从WordPress 文档中获取的指南,另一个是在运行中。

让我解释:

$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

于 2012-12-18T09:37:28.920 回答