從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