我正在尝试获取作者的头像、名字和姓氏以及他们的简历(描述)。
幸运的是,我发现了如何做到这一点,使用了WordPress codex中的几个函数。我现在要做的是在我的foreach
环
但我注意到,我把我之前写的一篇文章的作者换成了其他人,但前端没有改变。它一直显示原作者,而不是新修改的作者。
这是我的代码中标题后面的一部分:
<section class="page blog">
<div class="container">
<?php foreach($items as $item) { ?>
<div class="row">
<div class="col-md-7">
<div class="post-content">
<h3 class="post-title"><?php echo $item->post_title; ?></h3>
<?php echo str_replace(\'<p>\', \'<p class="post-content--alinea">\', apply_filters(\'the_content\', $item->post_content)); ?>
<p class="post-date-time">
<?php echo strftime(\'%A %d %B \\\'%y, %H:%M\', strtotime($item->post_date)); ?>
</p>
</div>
<div class="post-author">
<div class="col-md-3">
<?php echo get_avatar(get_the_author_meta(\'ID\'), 128, \'\', \'Profielfoto\'); ?>
<p class="post-author--caption"><?php the_author_firstname(); echo \' \'; the_author_lastname(); ?></p>
</div>
<div class="col-md-9">
<h3 class="post-author--bio-title">Let\'s meet!<?php /* the_author(); */ ?></h3>
<p class="post-author--bio"><?php the_author_meta(\'description\'); ?></p>
</div>
</div>
</div>
我想我在
foreach
环但我不知道是什么。
最合适的回答,由SO网友:Pieter Goosen 整理而成
你的问题是foreach
环由于您没有手动设置postdata,因此当前post对象在全局范围内不可用,因此您无法使用模板标记或任何依赖于post对象的其他内容。
对于get_the_author_meta()
要在当前的情况下工作,您必须明确地将当前的帖子作者传递给函数。像这样的东西会有用的
get_the_author_meta( \'ID\', $item->post_author );
为了避免这种情况,并正确使用模板标记,请设置postdata。要使其工作,您需要使用
$post
全球的只需记住重置
$post
全局返回到主查询的
$post
价值
foreach ( $items as $post ) {
setup_postdata( $post );
// Use normal template tags
the_title();
the_content();
echo get_the_author_meta( \'ID\' );
}
wp_reset_postdata(); // VERY VERY IMPORTANT