WordPress菜单中的分类自动添加子分类菜单

我们在进行 WordPress 主题开发的时候,我们会遇到子分类特别多,而且还要添加到网站导航中的情况。如果导航中只有分类还好弄,可是还有其他自定义菜单项的话,就比较麻烦了。多数时候,要手动去添加顶级分类下的子分类,很费时。下面说下,如何在菜单本身是分类的情况下,自动添加其下的子分类为子菜单。

  1. /* 自动给导航菜单中的分类添加其下的子分类 */
  2. add_filter("wp_get_nav_menu_items", function($items, $menu, $args) {
  3. if (is_admin()) {
  4. return $items;
  5. }
  6. foreach ($items as $index => $i) {
  7. if ("category" !== $i->object) {
  8. continue;
  9. }
  10. $term_children = get_term_children($i->object_id, "category");
  11. foreach ($term_children as $index2 => $child_id) {
  12. $child = get_term($child_id);
  13. $url = get_term_link($child);
  14. $e = new stdClass();
  15. $e->title = $child->name;
  16. $e->url = $url;
  17. $e->menu_order = 500 * ($index + 1) + $index2;
  18. $e->post_type = "nav_menu_item";
  19. $e->post_status = "published";
  20. $e->post_parent = $i->ID;
  21. $e->menu_item_parent = $i->ID;
  22. $e->type = "custom";
  23. $e->object = "custom";
  24. $e->ID = 0;
  25. $e->db_id = 0;
  26. $e->object_id = 0;
  27. $e->classes = array();
  28. $e->description = "";
  29. $items[] = $e;
  30. }
  31. }
  32. return $items;
  33. }, 10, 3);

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WooCommerce根据付款方式不同跳转到不同的感谢页面

2022-9-14 10:58:14

WordPress教程

WordPress文章过多导致跳转文章时加载过慢的问题优化

2022-9-14 16:58:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索