get_delete_post_link() WordPress Function
The get_delete_post_link() function allows you to create a link to delete a post. This is useful if you want to create a link that allows users to delete their own posts.
get_delete_post_link( int|WP_Post $id, string $deprecated = '', bool $force_delete = false ) #
Retrieves the delete posts link for post.
Description
Can be used within the WordPress loop or outside of it, with any post type.
Parameters
- $id
(int|WP_Post)(Optional) Post ID or post object. Default is the global
$post
.- $deprecated
(string)(Optional)Not used.
Default value: ''
- $force_delete
(bool)(Optional) Whether to bypass Trash and force deletion.
Default value: false
Return
(string|void) The delete post link URL for the given post.
Source
File: wp-includes/link-template.php
function get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false ) { if ( ! empty( $deprecated ) ) { _deprecated_argument( __FUNCTION__, '3.0.0' ); } $post = get_post( $id ); if ( ! $post ) { return; } $post_type_object = get_post_type_object( $post->post_type ); if ( ! $post_type_object ) { return; } if ( ! current_user_can( 'delete_post', $post->ID ) ) { return; } $action = ( $force_delete || ! EMPTY_TRASH_DAYS ) ? 'delete' : 'trash'; $delete_link = add_query_arg( 'action', $action, admin_url( sprintf( $post_type_object->_edit_link, $post->ID ) ) ); /** * Filters the post delete link. * * @since 2.9.0 * * @param string $link The delete link. * @param int $post_id Post ID. * @param bool $force_delete Whether to bypass the Trash and force deletion. Default false. */ return apply_filters( 'get_delete_post_link', wp_nonce_url( $delete_link, "$action-post_{$post->ID}" ), $post->ID, $force_delete ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
2.9.0 | Introduced. |