在一些情况下,如分类联动下拉,或者多层级分类多重筛选文章时,我们可能需要查询指定分类的所有祖先级分类。之前,我是通过使用 while 循环查询指定 term 的o d h ; ! l j Q r parent 来实现的。但不久之前,在我开发基于 vue 的分类下A S ? , 0拉联动时,发现在 WordPress 环境中其实官方已经有一个现成的函数,查看源码,发现实则也是使用 while 循环,基本和我自己写的逻辑代码一模一样,但处于不重复造轮子的目的,我还是采用官方函数替换了早先自己编写的代码。绕了一大圈,WordPress 查询当前分类的祖先 ids 的函数就是:
- get_ancestors( $object_id = 0, $object_type = '', $resource_type = '' )
观察源码可以发现,i ! X A ]这个函数不单是可以查询 term 即分类的祖先,同理也可以用来查询 post 的所有祖先。