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 ClassicPress 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__, 'WP-3.0.0' );

	if ( !$post = get_post( $id ) )
		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 WP-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 );
}


Changelog

Changelog
Version Description
WP-2.9.0 Introduced.