_wp_delete_orphaned_draft_menu_items()
Deletes orphaned draft menu items
Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.
No Hooks.
Returns
null. Nothing (null).
Usage
_wp_delete_orphaned_draft_menu_items();
Notes
- Global. wpdb.
$wpdbWordPress database abstraction object.
Changelog
| Since 3.0.0 | Introduced. |
_wp_delete_orphaned_draft_menu_items() wp delete orphaned draft menu items code WP 7.0
function _wp_delete_orphaned_draft_menu_items() {
global $wpdb;
$delete_timestamp = time() - ( DAY_IN_SECONDS * EMPTY_TRASH_DAYS );
// Delete orphaned draft menu items.
$menu_items_to_delete = $wpdb->get_col(
$wpdb->prepare(
"SELECT ID FROM $wpdb->posts AS p
LEFT JOIN $wpdb->postmeta AS m ON p.ID = m.post_id
WHERE post_type = 'nav_menu_item' AND post_status = 'draft'
AND meta_key = '_menu_item_orphaned' AND meta_value < %d",
$delete_timestamp
)
);
foreach ( (array) $menu_items_to_delete as $menu_item_id ) {
wp_delete_post( $menu_item_id, true );
}
}