Что делает 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.