从wp_nav_menu中获取菜单项,然后检查这些菜单项是否对应分类(Category),并输出这些分类的ID。
以下是完整的代码实现:
<?php
// 获取指定菜单位置的菜单项
$menu_items = wp_get_nav_menu_items('wodepress'); // 'wodepress' 是菜单位置的名称if ($menu_items) {$category_ids = array(); // 用于存储分类ID的数组foreach ($menu_items as $item) {// 检查菜单项是否是分类if ($item->object == 'category') {$category_ids[] = $item->object_id; // 添加分类ID到数组}}// 输出分类IDif (!empty($category_ids)) {echo implode(', ', $category_ids); // 将分类ID以逗号分隔的形式输出} else {echo '没有找到分类ID';}
}
?>
代码说明:
wp_get_nav_menu_items(‘wodepress’):
通过wp_get_nav_menu_items函数获取指定菜单位置(wodepress)的所有菜单项。
这些菜单项是一个对象数组,每个对象包含菜单项的各种属性。
检查菜单项是否是分类:
每个菜单项对象的object属性表示菜单项的类型(如category、page、post等)。
如果object等于category,则说明该菜单项是一个分类。
object_id属性是分类的ID。
存储分类ID:
将找到的分类ID添加到$category_ids数组中。
输出分类ID:
使用implode函数将分类ID数组转换为以逗号分隔的字符串并输出。
示例输出:
假设菜单中有两个分类,ID分别为2和4,那么输出将是:
2,4
如何使用:
将上述代码替换掉你原来的wp_nav_menu调用代码,放在需要输出分类ID的位置即可。例如,你可以将其放在主题的模板文件(如header.php或sidebar.php)中。
这样,代码会自动从菜单中提取分类的ID并输出,而不需要手动指定分类ID。
原文
https://www.wpniu.com/article/6646.html