Using WordPress ‘admin_post_delete_custom_post_type_item’ PHP action

The admin_post_{$action} WordPress PHP action fires on an authenticated admin post request for the given action. The dynamic portion of the hook name, $action, refers to the given request action.

Usage

add_action('admin_post_your_action', 'your_function_name');
function your_function_name() {
// Your custom code here
}

Parameters

  • $action (string): The action name that identifies the authenticated admin post request.

More information

See WordPress Developer Resources: admin_post_{$action}

Examples

Redirecting after a custom form submission

When you create a custom form in the WordPress admin area, you can use this action to handle the form submission and then redirect to a specific page.

add_action('admin_post_process_form', 'process_custom_form');

function process_custom_form() {
    // Process the form data and save it to the database

    // Redirect to the admin page after processing
    wp_redirect(admin_url('admin.php?page=your_page_slug'));
    exit;
}

Handling AJAX requests in the admin area

Use the action to handle AJAX requests submitted by admin users.

add_action('admin_post_my_ajax_action', 'handle_ajax_request');

function handle_ajax_request() {
    // Process the AJAX request and return the result

    wp_die(); // Required to terminate AJAX request
}

Customizing the admin bar

You can use this action to modify the admin bar based on the request action.

add_action('admin_post_customize_admin_bar', 'customize_admin_bar');

function customize_admin_bar() {
    // Add or remove items from the admin bar

    // Redirect back to the admin dashboard
    wp_redirect(admin_url());
    exit;
}

Deleting a custom post type item

Use the action to delete a custom post type item and then redirect the user to a specific page.

add_action('admin_post_delete_custom_post_type_item', 'delete_custom_post_type_item');

function delete_custom_post_type_item() {
    // Delete the custom post type item from the database

    // Redirect to the custom post type listing page
    wp_redirect(admin_url('edit.php?post_type=your_custom_post_type'));
    exit;
}

Performing a custom bulk action

Perform a custom bulk action on a list of items in the admin area.

add_action('admin_post_custom_bulk_action', 'perform_custom_bulk_action');

function perform_custom_bulk_action() {
    // Process the bulk action on selected items

    // Redirect back to the previous admin page
    wp_redirect(wp_get_referer());
    exit;
}