1
A
回答
2
你或许可以做到这一点与Walker,但我试了老式的方法。
$categories = get_categories();
// First index all categories by parent id, for easy lookup later
$cats_by_parent = array();
foreach ($categories as $cat) {
$parent_id = $cat->category_parent;
if (!array_key_exists($parent_id, $cats_by_parent)) {
$cats_by_parent[$parent_id] = array();
}
$cats_by_parent[$parent_id][] = $cat;
}
// Then build a hierarchical tree
$cat_tree = array();
function add_cats_to_bag(&$child_bag, &$children)
{
global $cats_by_parent;
foreach ($children as $child_cat) {
$child_id = $child_cat->cat_ID;
if (array_key_exists($child_id, $cats_by_parent)) {
$child_cat->children = array();
add_cats_to_bag($child_cat->children, $cats_by_parent[$child_id]);
}
$child_bag[$child_id] = $child_cat;
}
}
add_cats_to_bag($cat_tree, $cats_by_parent[0]);
// With this real tree, this recursive function can check for the cats you need
function has_children_with_posts(&$children)
{
$has_child_with_posts = false;
foreach ($children as $child_cat) {
$has_grandchildren_with_posts = false;
if (isset($child_cat->children)) {
// Here is our recursive call so we don't miss any subcats
if (has_children_with_posts($child_cat->children)) {
$has_grandchildren_with_posts = true;
}
}
if (0 < intval($child_cat->category_count)) {
$has_child_with_posts = true;
} else if ($has_grandchildren_with_posts) {
// This is a category that has no posts, but does have children that do
$child_cat->is_empty_with_children = true;
var_dump($child_cat->name);
}
}
return $has_child_with_posts;
}
has_children_with_posts($cat_tree);
相关问题
- 1. WordPress的wp_list_categories
- 2. WordPress wp_list_categories()格式化
- 3. WordPress的计数wp_list_categories
- 4. WordPress的侧边栏问题与wp_list_categories显示NO类别
- 5. 有条件使用wp_list_categories(Wordpress)
- 6. WordPress;代码自定义(wp_list_categories)
- 7. 从wp_list_categories
- 8. WordPress的WordPress问题
- 9. wp_list_categories模拟偏移量
- 10. 添加类wp_list_categories
- 11. wp_list_categories添加类
- 12. WordPress标题问题
- 13. WordPress主题问题
- 14. wordpress add_filter问题
- 15. Wordpress API问题
- 16. Wordpress Loop问题
- 17. Wordpress query_posts问题
- 18. Wordpress parse_query问题
- 19. wordpress onClick问题
- 20. WordPress的问题
- 21. WordPress问题XMLRPC
- 22. WordPress的问题
- 23. Wordpress/Buddypress问题
- 24. Wordpress 404问题
- 25. Wordpress get_the_post_thumbnail();问题
- 26. Wordpress seo问题
- 27. Wordpress stripslashes问题
- 28. wordpress htaccess问题
- 29. wordpress query_posts问题
- 30. Wordpress wp_redirect问题