通过名称或 slug 获取 WooCommerce 产品类别的 ID

Get the id of a WooCommerce product category by its name or slug

我有一个 wp 模板,我想分配给一些页面。模板将即。显示所有与页面名称本身具有相同主类别名称的 WooCommerce 产品。

到目前为止,我已尝试使用此代码,但输出效果不佳:

$idObj = get_category_by_slug($pagename);
$id = $idObj->term_id;
echo ": ". $id;

很遗憾,echo 没有显示任何内容。
回显 $pagename 有效,returns 我是页面的 slug。

我有什么好的方法可以完成这项工作吗?

代码似乎是正确的,尝试 var_dump 看看你从 get_category_by_slug($pagename)

得到了什么
$idObj = get_category_by_slug($pagename);
var_dump($idObj);

对于自定义分类法,建议使用 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