乐闻世界logo
搜索文章和话题

How To Get Parent Category ID in Wordpress

4 个月前提问
4 个月前修改
浏览次数18

1个答案

1

在WordPress中,获取某个类别的父类别ID是一个常见的需求,尤其是在开发更复杂的主题或插件时。WordPress 提供了一些内置函数来帮助开发者轻松获取这类信息。下面我将详细解释如何使用这些函数,并举例说明。

方法一:使用 get_term_by() 函数

get_term_by() 是一个非常通用的函数,可以用来获取任何类型的术语信息,包括类别。要获取一个类别的父类别ID,你首先需要知道子类别的一些信息,比如它的ID、名称或slug。

示例代码:

php
// 假设我们知道类别的slug是 'child-category' $category = get_term_by('slug', 'child-category', 'category'); // 检查是否找到了类别 if ($category !== false) { $parent_id = $category->parent; // 输出父类别ID echo '父类别ID是:' . $parent_id; } else { echo '没有找到指定的类别'; }

在这个例子中,我们使用了类别的slug来获取类别对象,然后从对象中读取 parent 属性,这是一个整数,表示父类别的ID。

方法二:直接使用类别ID

如果你已经知道了类别的ID,那么可以直接使用 get_category() 函数来获取类别对象,然后读取它的父类别ID。

示例代码:

php
// 假设我们知道类别的ID是 15 $category = get_category(15); // 检查是否找到了类别 if ($category !== null) { $parent_id = $category->parent; // 输出父类别ID echo '父类别ID是:' . $parent_id; } else { echo '没有找到指定的类别'; }

方法三:使用 WordPress 查询对象

如果你在开发中需要更复杂的数据处理,比如在一个查询循环中获取每个类别的父ID,你可以使用 WP_Query 对象或 get_categories() 函数来构造一个类别查询,然后遍历结果并获取每个类别的父ID。

示例代码:

php
$args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'taxonomy' => 'category', 'pad_counts' => false ); $categories = get_categories($args); foreach ($categories as $category) { echo '类别: ' . $category->name . ' - 父类别ID: ' . $category->parent . '<br />'; }

这段代码会列出所有类别及其父类别ID,这对于检视结构或调试非常有帮助。

结论

使用WordPress提供的函数,如 get_term_by(), get_category(), 或通过 get_categories() 结合循环,可以轻松地获取类别的父ID。根据你的具体需求选择合适的方法。希望这些信息对您的项目有所帮助!

2024年7月21日 20:21 回复

你的答案