二级栏目聚合实现方案📅 2025-11-29  |  👁 2357 次浏览

二级栏目聚合需要获取父栏目及其所有子栏目的文章。通过pid字段查找子栏目id列表。

实现代码

$ids = [(int) $pid];
foreach ($GLOBALS['categories'] as $c) {
    if ((int) $c['pid'] === (int) $pid)
        $ids[] = (int) $c['id'];
}
$now = time();
$cond = 'deleted=0 AND (publish_at=0 OR publish_at<='.$now.')'
      . ' AND (offline_at=0 OR offline_at>'.$now.')';
$list = get_articles($cond.' AND cat_id IN ('.implode(',', $ids).')', [], 10);
  • 用$GLOBALS['categories']获取全量栏目
  • 按pid过滤获取子栏目id列表
  • 用cat_id IN(...)查询所有子栏目文章
  • 需补全可见性条件

芒阳网络团域cms开发中心

Copyright © 2023 刀客CMS内容管理系统