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

WordPress如何查询多个自定义文章类型并合并展示内容

合并两类文章查询实现方案

你当前使用的get_terms是用于获取分类术语的函数,无法直接查询文章内容,要同时输出默认post和自定义articles两类文章,直接通过WP_Query指定多文章类型参数即可,修改参考代码如下:

public function News() {
    // 组合查询参数,同时匹配两种文章类型
    $news_args = [
        'post_type'      => ['post', 'articles'], // 传入要查询的所有文章类型别名
        'posts_per_page' => -1, // 输出所有内容设为-1,有分页需求可调整为对应数值
        'post_status'    => 'publish', // 仅查询已发布内容
        'orderby'        => 'date', // 按发布时间排序,可按需调整
        'order'          => 'DESC'
    ];
    $news_query = new WP_Query($news_args);

    // 遍历输出文章内容
    if ($news_query->have_posts()) {
        while ($news_query->have_posts()) {
            $news_query->the_post();
            
            // 可通过get_post_type()区分文章类型,做差异化样式输出
            if (get_post_type() === 'post') {
                // 默认博客文章(news)的输出逻辑
            } else {
                // 自定义articles类型的输出逻辑
            }
        }
        // 重置全局post数据,避免干扰页面主查询
        wp_reset_postdata();
    }

    // 若仍需获取articles的分类术语,保留原get_terms逻辑即可
    $terms = get_terms([
        'taxonomy'   => 'article_category',
        'hide_empty' => false,
    ]);
}

补充说明

  • 如果需要按分类筛选内容,可在查询参数中添加tax_query配置,同时适配默认post的category分类和articles的article_category分类
  • 分页场景下需把posts_per_page改为对应每页展示数量,同时添加paged参数匹配分页规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:45:01