获取帖子的当前作者(已更改),而不是原始作者

时间:2016-03-11 作者:ALXvirtual

我正在尝试获取作者的头像、名字和姓氏以及他们的简历(描述)。

幸运的是,我发现了如何做到这一点,使用了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 环但我不知道是什么。

1 个回复
最合适的回答,由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

相关推荐

如何修改WP_INCLUDE/BLOCKS/LATEST_posts.php

我是WordPress开发的初学者,希望得到一些帮助。我在一个简单的WordPress网站上工作。基本上,用户希望在主页上显示最新的帖子。我使用了最新帖子块,并将其设置为显示整个帖子内容,现在用户不希望帖子标题链接到单个帖子页面(因为帖子的内容显示在主页上)。如何安全地修改模板文件,使其像h2标记一样使用,而不是在主题中使用的href标记。我知道您可以创建子主题并修改wp_content 文件,但我不确定如何处理中的文件wp_include. 我读到一些关于修改functions.php 但我不确定,如果