admin管理员组文章数量:1425696
I am having trouble displaying the author name and avatar on my single.php page. The posts load fine and all the correct information is available. However the avatar and name is no where to be found. I'm not sure what I'm doing wrong. Help is appreciated
<div class="row">
<div>
<h1 class="primary-color"> <?php the_title(); ?></h1>
<span class="avatar">
<?php echo get_avatar( $id_or_email, 30, $default, $alt, $args ); ?>
</span>
by <span class="primary-color"><?php echo get_the_author_meta('display_name', $author_id); ?></span> <span class="pipe">|</span> <span class="date"><?php echo get_the_date(); ?></span>
</div>
</div><!-- END ROW -->
<div class="row">
<?php
while ( have_posts() ) : the_post();
?>
<?php the_content(); ?>
<?php endwhile; ?>
</div>
I am having trouble displaying the author name and avatar on my single.php page. The posts load fine and all the correct information is available. However the avatar and name is no where to be found. I'm not sure what I'm doing wrong. Help is appreciated
<div class="row">
<div>
<h1 class="primary-color"> <?php the_title(); ?></h1>
<span class="avatar">
<?php echo get_avatar( $id_or_email, 30, $default, $alt, $args ); ?>
</span>
by <span class="primary-color"><?php echo get_the_author_meta('display_name', $author_id); ?></span> <span class="pipe">|</span> <span class="date"><?php echo get_the_date(); ?></span>
</div>
</div><!-- END ROW -->
<div class="row">
<?php
while ( have_posts() ) : the_post();
?>
<?php the_content(); ?>
<?php endwhile; ?>
</div>
Share
Improve this question
edited Apr 10, 2019 at 22:48
user5854648
asked Apr 10, 2019 at 22:37
user5854648user5854648
16317 bronze badges
2 Answers
Reset to default 5To display the author's avatar within The Loop use get_avatar()
like that:
<?php print get_avatar(get_the_author_meta('ID'), '30', '', '', ['class' => 'foo-bar']); ?>
To display the author's display name within The Loop use the_author()
:
<?php the_author(); ?>
So put everything inside The Loop and then:
<?php
while (have_posts()) : the_post();
?>
<div class="row">
<div>
<h1 class="primary-color">
<?php the_title(); ?>
</h1>
<span class="avatar">
<?php print get_avatar(get_the_author_meta('ID'), '30', '', '', ['class' => 'foo-bar']); ?>
</span>
by <span class="primary-color"><?php the_author(); ?></span>
<span class="pipe">|</span>
<span class="date"><?php echo get_the_date(); ?></span>
</div>
</div>
<div class="row">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
Seems like you are using author info outside the loop. If you want to get that information outside the loop, you can do it as follows, in your single.php (or if you're using page template use inside it)
<?php
global $post;
$author_id = $post->post_author;
?>
<span class="avatar">
<?php echo get_avatar($author_id, 32); ?>
</span>
by
<span class="primary-color">
<?php the_author_meta('user_nicename', $author_id); ?>
</span>
<span class="pipe">|</span>
<span class="date"><?php echo get_the_date(); ?></span>
本文标签: phpMissing Author Information
版权声明:本文标题:php - Missing Author Information 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745396703a2656848.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论