通过其 slug 获取 WooCommerce 产品类别的 id
Posted
技术标签:
【中文标题】通过其 slug 获取 WooCommerce 产品类别的 id【英文标题】:Get the id of a WooCommerce product category by its name or slug 【发布时间】:2016-09-27 00:54:34 【问题描述】:我有一个想要分配给某些页面的 wp 模板。模板将即。显示与页面名称本身具有相同主类别名称的所有 WooCommerce 产品。
到目前为止,我已尝试使用此代码,但没有好的输出:
$idObj = get_category_by_slug($pagename);
$id = $idObj->term_id;
echo ": ". $id;
不幸的是,回显没有显示任何内容。
回显 $pagename
有效,并返回给我页面的 slug。
有什么好的方法可以完成这项工作吗?
【问题讨论】:
【参考方案1】:如果有自定义分类,建议改用get_term_by()
:
$category = get_term_by( 'slug', $pagename, 'product_cat' );
$cat_id = $category->term_id
参考:Get category ID from term slug…
要从术语名称中获取产品类别 ID,请使用:
$category = get_term_by( 'name', $pagename, 'product_cat' );
$cat_id = $category->term_id
【讨论】:
【参考方案2】:代码似乎是正确的,尝试 var_dump 看看你从 get_category_by_slug($pagename) 得到什么
$idObj = get_category_by_slug($pagename);
var_dump($idObj);
【讨论】:
仅供参考:这是针对 Wordpress“类别”的。 WooCommerce 类别使用“product_cat”,因此您必须使用 get_term_by()以上是关于通过其 slug 获取 WooCommerce 产品类别的 id的主要内容,如果未能解决你的问题,请参考以下文章
在产品标题下方显示 woocommerce 产品属性 slug
在 WooCommerce 存档产品页面上更改分页基础 slug