【问题标题】:Get the id of a WooCommerce product category by its name or slug通过其 slug 获取 WooCommerce 产品类别的 id
【发布时间】:2016-09-27 00:54:34
【问题描述】:

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

到目前为止,我已尝试使用此代码,但没有好的输出:

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

不幸的是,回显没有显示任何内容。
回显 $pagename 有效,并返回给我页面的 slug。

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

【问题讨论】:

    标签: php wordpress woocommerce categories custom-taxonomy


    【解决方案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()
      猜你喜欢
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 2018-07-09
      • 2015-05-27
      • 1970-01-01
      • 2017-04-01
      • 2016-05-11
      相关资源
      最近更新 更多