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

如何通过ID获取另一篇文章的get_queried_object以查找父级文章的父级?

获取当前查询对象的父级ID并判断是否存在上级父级

你的思路方向是对的,但代码里的变量使用有误,正确的实现方式如下:

直接调用get_queried_object()获取当前页面的查询对象(比如分类、自定义分类等),再通过对象的parent属性拿到父级ID,最后判断这个ID是否大于0,就能知道是否存在上级父级。

完整代码示例

// 获取当前查询的对象
$current_object = get_queried_object();

// 先确保对象存在且是分类类型(可选,避免非分类页面报错)
if ($current_object && is_a($current_object, 'WP_Term')) {
    $parent_id = $current_object->parent;
    
    // 判断是否存在上级父级
    if ($parent_id > 0) {
        // 存在上级父级,可在此处理逻辑
        echo '当前分类的父级ID是:' . $parent_id;
    } else {
        // 没有上级父级,是顶级分类
        echo '当前是顶级分类,无上级父级';
    }
}

关键说明

  • get_queried_object()无需额外对象调用,直接执行就能获取当前页面的对应对象(分类页返回WP_Term对象,文章页返回WP_Post对象)
  • 检查$current_object的类型是为了避免在非分类页面(比如首页、文章页)执行代码时出现错误
  • 顶级分类的parent属性值为0,因此判断$parent_id > 0即可确定是否有上级父级

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:09:55