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

WordPress(WooCommerce)中如何获取页面ID而非所用模板的ID?

解决WooCommerce产品分类页面模板中获取分类ID的问题

在你的场景里,get_the_ID()返回模板ID是因为这个函数针对的是当前循环的内容ID,而你的afterheader作为模板片段被调用时,当前循环并没有指向产品分类的查询对象。要获取产品分类页面的ID,你可以用下面这些方法:

  • 直接获取当前查询对象的ID:使用get_queried_object_id()函数,它会返回当前页面对应查询对象的ID——在产品分类页面,这个值就是对应的产品分类(product_cat)ID。代码示例:

    $category_id = get_queried_object_id();
    // 后续根据$category_id展示对应内容
    
  • 获取完整分类对象再取ID:如果需要分类的其他信息(比如名称、slug),可以先用get_queried_object()拿到整个分类对象,再提取ID:

    if (is_product_category()) {
        $current_category = get_queried_object();
        $category_id = $current_category->term_id;
    }
    

注意:建议先通过is_product_category()判断当前页面是否是产品分类页面,避免在其他页面调用时出现错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 15:27:36