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

How To Get Parent Category ID in Wordpress

1个答案

1

In WordPress, retrieving the parent category ID of a specific category is a common requirement, especially when developing more complex themes or plugins. WordPress provides several built-in functions to help developers easily obtain this information. I will explain in detail how to use these functions with practical examples.

Method One: Using the get_term_by() Function

get_term_by() is a versatile function that retrieves information about any term type, including categories. To obtain the parent category ID of a category, you first need to know details about the child category, such as its ID, name, or slug.

Example Code:

php
// Assume we know the category's slug is 'child-category' $category = get_term_by('slug', 'child-category', 'category'); // Verify if the category was found if ($category !== false) { $parent_id = $category->parent; // Output the parent category ID echo 'Parent category ID is: ' . $parent_id; } else { echo 'The specified category was not found'; }

In this example, we use the category's slug to fetch the category object and then read the parent property, which is an integer representing the parent category's ID.

Method Two: Directly Using the Category ID

If you already know the category's ID, you can directly use the get_category() function to retrieve the category object and then access its parent category ID.

Example Code:

php
// Assume we know the category's ID is 15 $category = get_category(15); // Verify if the category was found if ($category !== null) { $parent_id = $category->parent; // Output the parent category ID echo 'Parent category ID is: ' . $parent_id; } else { echo 'The specified category was not found'; }

Method Three: Using WordPress Query Object

For more complex data handling during development—such as retrieving the parent ID of each category within a loop—you can use the WP_Query object or the get_categories() function to construct a category query. Then, iterate through the results to fetch each category's parent ID.

Example Code:

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: ' . $category->name . ' - Parent category ID: ' . $category->parent . '<br />'; }

This code lists all categories along with their parent category IDs, which is invaluable for inspecting the structure or debugging.

Conclusion

Using WordPress's built-in functions—such as get_term_by(), get_category(), or combining get_categories() with loops—you can easily retrieve the parent category ID. Select the appropriate method based on your specific needs. I hope this information proves helpful for your project.

2024年7月21日 20:21 回复

你的答案