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

如何为WordPress的get_posts()传参以排除post_content字段?

如何用get_posts()排除post_content字段

get_posts()本身没有直接用于排除特定字段的参数,但可以通过两种方式实现需求:

方法一:使用fields参数指定需要的字段

直接在get_posts()的参数中通过fields列出你需要获取的字段(比如ID、标题、发布日期等),这样查询结果就不会包含未指定的post_content字段。示例代码:

$target_posts = get_posts(array(
    'posts_per_page' => 10, // 根据需求调整数量
    'fields'         => 'ids,post_title,post_date,post_author' // 仅获取这些字段,自动排除post_content
));

这种方式简单直接,适合明确知道需要哪些字段的场景。

方法二:通过posts_fields过滤器修改SQL查询

如果需要保留大部分默认字段,仅排除post_content,可以使用posts_fields过滤器修改查询的SQL字段列表,移除post_content。示例代码:

// 临时添加过滤器,移除post_content字段
add_filter('posts_fields', function($original_fields) {
    return str_replace('post_content,', '', $original_fields);
});

// 执行查询
$target_posts = get_posts(array(
    'posts_per_page' => 10
));

// 立即移除过滤器,避免影响后续的数据库查询
remove_filter('posts_fields', function($original_fields) {
    return str_replace('post_content,', '', $original_fields);
});

注意:使用过滤器后一定要及时移除,否则会影响其他WordPress查询的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:21:30