从缩略图中的相应文章中获取作者图像

时间:2019-01-10 作者:Heinrich Held

我想为主页上的每个缩略图预览添加作者图像。

我试过了<?php echo get_avatar( get_the_author_meta( \'ID\' ), 32 ); ?> 但它在每个缩略图中都给了我相同的图像。

以下是缩略图的完整代码:

 <?php
          $recentp_args = array( \'numberposts\' => \'4\' );
          $recent_posts = wp_get_recent_posts($recentp_args);
          foreach( $recent_posts as $recent ){ ?>
            <article>
              <a href="<?php echo get_permalink($recent["ID"]); ?>">
                <?php 
                  $thumb = get_the_post_thumbnail( $recent["ID"], \'featuredmedium\', array( \'class\' => \'lazyload\' ) );
                  if ( !empty($thumb) ) { // check if the post has a Post Thumbnail assigned to it.
                    echo $thumb;
                  } else {
                    echo \'<img src="\'.get_bloginfo(\'template_url\').\'/images/photo_default.png" width="320" height="167" alt="" />\';
                  }
                ?>
                <h2 class="title"><?php echo $recent["post_title"]; ?></h2>
                <?php echo apply_filters( \'the_content\', limit_words(strip_tags($recent["post_content"]),38) ); ?>

                <?php echo get_avatar( get_the_author_meta( \'ID\' ), 32 ); ?>
              </a>
            </article>
        <?php } ?>

2 个回复
SO网友:mrben522

这里有一些问题<?php echo get_avatar( get_the_author_meta( \'ID\' ), 32 ); ?> 因为你不在The Loop. 如果要使用不采用特定post ID但使用全局post的函数,则需要在循环中。除了使用foreach,您需要使用标准的wordpress post循环,这也意味着您需要将post作为查询对象而不是数组来获取。将您最近的帖子行更改为$recent_posts = new WP_Query($recentp_args); 并用以下内容替换foreach循环

if ($recent_posts->have_posts()) : 
    while $recent_posts->have_posts(): 
        $recent_posts->the_post;
那么get_the_author_meta() 应该有用。

SO网友:Schwarttzy

<?php echo get_avatar( get_the_author_meta( \'ID\') , 150); ?>
这正是我所用的。

我认为问题在于“foreach($recent\\u posts as$recent)”,我建议使用

if ( $wp_query->have_posts() ) :
我建议退房https://developer.wordpress.org/reference/classes/wp_query/ 并记住在完成后用重置循环

wp_reset_postdata();

相关推荐

Get_the_Author_meta()和Get_User_meta()有什么不同?

我有个问题:get_the_author_meta() 返回元get_user_meta() 对于相同的元键返回false,我不知道为什么会发生这种情况。关于用户元数据,我应该何时使用其中一种?I tried this:get_the_author_meta(\'afzfp_user_status\', $user->ID); get_user_meta(\'afzfp_user_status\', $user->ID, true); It returns:String \"t