You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress如何获取指定作者的所有文章?

修复后的代码实现

原代码存在两个核心问题:一是get_posts的参数名错误,指定作者需用author而非test;二是仅获取了文章数据,未输出你需要的标题、描述和特色图片信息。以下是完整的可用代码:

<?php
if(isset($authors) && !empty($authors)) {
    echo "<ul>";
    foreach($authors as $author) {
        // 正确配置参数,获取该作者所有已发布文章
        $posts = get_posts(array(
            'author' => $author->ID,
            'posts_per_page' => -1,
            'post_status' => 'publish'
        ));

        // 循环输出每篇文章的目标信息
        foreach($posts as $post) {
            setup_postdata($post);
            $featured_img = get_the_post_thumbnail_url($post->ID, 'full');
            ?>
            <li>
                <h3><?php the_title(); ?></h3>
                <p><?php the_excerpt(); ?></p>
                <?php if($featured_img): ?>
                    <img src="<?php echo esc_url($featured_img); ?>" alt="<?php the_title_attribute(); ?>">
                <?php endif; ?>
            </li>
            <?php
        }
        wp_reset_postdata();
    }
    echo "</ul>";
}
?>
关键说明
  • 替换参数名:用author指定作者ID,这是WordPressget_posts函数的标准参数
  • 全量获取:posts_per_page => -1确保拉取该作者的所有已发布文章
  • 模板函数复用:通过setup_postdata初始化文章数据,可直接调用the_title()、the_excerpt()这类便捷模板函数
  • 特色图片处理:用get_the_post_thumbnail_url获取图片URL,添加存在性判断避免生成空的图片标签
  • 数据重置:wp_reset_postdata()用于重置全局文章数据,防止干扰后续查询逻辑

内容的提问来源于stack exchange,提问作者tomhuckle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 05:38:10