'get_category_parents'功能不起作用

时间:2015-05-05 09:21:44

标签: wordpress

我正在尝试获取特定类别的父类别。 使用,

$slug = $_REQUEST['product_cat'];
$category = get_term_by( 'slug', $slug, 'product_cat' );
$catid = $category->term_id;

$categories = get_category_parents( $catid );
print_r($categories);

我可以得到猫咪。但无法使用此获取父类别。 我在woo-commerce模板的loop-start.php中使用此代码。

我正在追踪错误。

  

注意:尝试在第53行的/var/www/html/printvenue_new/wp-includes/category-template.php中获取非对象的属性

     

注意:尝试在第55行的/var/www/html/printvenue_new/wp-includes/category-template.php中获取非对象的属性

我想要父类别如何。

2 个答案:

答案 0 :(得分:1)

我希望我能正确理解你。 AFAIK,woocommerce使用自定义分类法,而不是分类法category。因此,您的代码将无法正常工作。

现在有类似get_category_parents()的功能用于自定义分类。您需要创建自己的自定义函数,例如@ialocin描述here

在分类法页面上,您可以使用get_queried_object()获取当前查询的对象(正在查看的术语)。从这里您可以获得父ID

    $parent_id = get_queried_object()->parent;

如果$parent_id0,则表示它是最高级别的最高级别字词。任何其他值意味着它有父。然后,您可以使用父ID使用get_term_by()简单地获取父级,依此类推。

希望有所帮助

答案 1 :(得分:0)

尝试使用此类获取父类别:

  private DateTime dateTimeUpdated = default(DateTime);
    public DateTime DateTimeUpdated
    {
       get
       {
          return (this.dateTimeUpdated== default(DateTime))
             ? this.dateTimeUpdated= DateTime.Now
             : this.dateTimeUpdated;
       }

       set { this.dateTimeUpdated= value; }
    }

您想在此添加两个或更多参数。