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

WordPress get_posts()获取指定分类媒体文件仅返回部分结果

返回结果仅为5条的核心原因
  • get_posts()默认继承后台「设置 > 阅读」中配置的每页文章显示数量,该配置默认值为5。你的查询参数中没有手动指定返回条数,因此查询被默认分页规则截断,只返回排序在前的5条结果。
  • 默认参数下get_posts()仅查询状态为publish的内容,而媒体附件(attachment类型)的系统状态为inherit,未手动指定状态时,部分未关联已发布内容的附件会被直接过滤,进一步减少返回结果数。
  • 你当前能返回5条分类匹配的结果,说明category_name参数已生效,不存在分类绑定错误的问题。
修正后可正常获取全部11个媒体文件的代码

将原有查询逻辑替换为如下代码即可:

function adjust_background_image(){
    $args = array(
        'post_type'      => 'attachment',
        'post_status'    => 'inherit', // 匹配附件的固有状态,避免被状态规则过滤
        'posts_per_page' => -1, // 参数值为-1时代表关闭分页,返回所有符合条件的结果
        'category_name'  => 'pw-background',
        'no_found_rows'  => true, // 关闭分页总数统计,优化查询性能
    );
    $attachments = get_posts($args);
    echo "<pre>";
    print_r($attachments);
    echo "</pre>";
}
add_action('wp_head', 'adjust_background_image');

注意:如果pw-background是你通过代码自定义注册给媒体库的分类法(非WordPress内置的默认文章分类category),需要替换分类查询逻辑为分类法查询模式,否则会出现分类不生效的问题,示例参数如下:

'tax_query' => array(
    array(
        'taxonomy' => '你注册的自定义分类法名称',
        'field'    => 'slug',
        'terms'    => 'pw-background',
    )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 04:18:14