函数文档

_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.