_wp_delete_tax_menu_item()
云策文档标注
概述
_wp_delete_tax_menu_item() 是一个回调函数,用于在原始对象被删除时处理相关的菜单项。它通过 wp_get_associated_nav_menu_items() 获取关联的菜单项 ID,并使用 wp_delete_post() 永久删除这些菜单项。
关键要点
- 函数用途:作为回调,处理当原始对象(如分类术语)被删除时,删除与之关联的导航菜单项。
- 参数说明:接受三个参数:$object_id(原始对象 ID,整数类型)、$tt_id(未使用的术语分类 ID)和 $taxonomy(分类法 slug)。
- 核心操作:通过 wp_get_associated_nav_menu_items() 查找关联菜单项,然后循环调用 wp_delete_post() 进行永久删除。
- 相关函数:wp_delete_post() 用于删除帖子,wp_get_associated_nav_menu_items() 用于获取关联菜单项。
- 版本历史:自 WordPress 3.0.0 版本引入。
代码示例
function _wp_delete_tax_menu_item( $object_id, $tt_id, $taxonomy ) {
$object_id = (int) $object_id;
$menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy );
foreach ( (array) $menu_item_ids as $menu_item_id ) {
wp_delete_post( $menu_item_id, true );
}
}
原文内容
Serves as a callback for handling a menu item when its original object is deleted.
Parameters
$object_idintrequired-
The ID of the original object being trashed.
$tt_idintrequired-
Term taxonomy ID. Unused.
$taxonomystringrequired-
Taxonomy slug.
Source
function _wp_delete_tax_menu_item( $object_id, $tt_id, $taxonomy ) {
$object_id = (int) $object_id;
$menu_item_ids = wp_get_associated_nav_menu_items( $object_id, 'taxonomy', $taxonomy );
foreach ( (array) $menu_item_ids as $menu_item_id ) {
wp_delete_post( $menu_item_id, true );
}
}
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |