Что делает get_delete_post_link()

Функция get_delete_post_link() возвращает URL для удаления записи. Работает с постами, страницами, вложениями и ревизиями. Если у текущего пользователя нет прав на удаление — функция вернёт null или пустую строку.

По умолчанию запись отправляется в корзину. Если нужно удалить насовсем — есть специальный параметр.

Синтаксис

get_delete_post_link( $id, $deprecated, $force_delete );

Параметры

$id (число) — ID записи. Обязательный параметр.

$deprecated — устаревший параметр, не используется начиная с WordPress 3.0.

$force_delete (bool) — если передать true, запись удалится мимо корзины, без возможности восстановления. По умолчанию false.

Что возвращает

Строку с URL или null, если у пользователя нет прав на удаление.

Примеры использования

Просто получить ссылку удаления для поста с ID 1:

echo get_delete_post_link( 1 );
// http://example.com/wp-admin/post.php?post=1&action=delete&_wpnonce=d21da8cad3

Вывести HTML-ссылку на удаление текущего поста:

echo '<a href="' . get_delete_post_link() . '">Удалить пост</a>';

Проверить права перед выводом ссылки — правильный подход:

if ( current_user_can( 'delete_posts' ) ) {
	echo '<a href="' . get_delete_post_link( $post->ID ) . '">Удалить без возможности восстановления</a>';
}

Хуки

Функция прогоняет результат через фильтр get_delete_post_link — можно подключиться и изменить итоговый URL.

История версий

Появилась в WordPress 2.9.0.

Разработка сайтов на Wordpress