此代码将显示某个类别的最新帖子。帖子只会显示 摘录,旁边是用户头像。
注意:我正在使用名为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中找到的那个。
答案 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。