Функция get_delete_post_link() в WordPress используется для получения URL ссылки на удаление поста. Это полезная функция, если вы хотите предоставить пользователям возможность удалить пост прямо с фронтенда вашего сайта, обычно с подтверждением этого действия.
Описание функции
get_delete_post_link() возвращает URL ссылки для удаления поста. Эта функция может принимать несколько параметров для настройки возвращаемой ссылки.
get_delete_post_link( $id = 0, $deprecated = '', $force_delete = false )Параметры
- $id(int|WP_Post): (Необязательный) ID поста или объект поста. По умолчанию используется текущий пост.
- $deprecated(string): (Необязательный) Этот параметр устарел и больше не используется.
- $force_delete(bool): (Необязательный) Если установлено в- true, пост будет удален без перемещения в корзину. По умолчанию- false.
Примеры использования
Пример 1. Получение и отображение ссылки на удаление текущего поста
Этот пример показывает, как получить и отобразить ссылку на удаление для текущего поста в цикле WordPress.
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        $delete_link = get_delete_post_link();
        if ( $delete_link ) {
            echo '<a href="' . esc_url( $delete_link ) . '">Удалить пост</a>';
        }
    }
}
Пример 2. Получение ссылки на удаление для конкретного поста
В этом примере мы получим ссылку на удаление поста с ID 42 и отобразим ее.
$post_id = 42;
$delete_link = get_delete_post_link( $post_id );
if ( $delete_link ) {
    echo '<a href="' . esc_url( $delete_link ) . '">Удалить пост</a>';
}
Удаление поста без перемещения в корзину
Этот пример показывает, как получить ссылку на удаление поста без перемещения его в корзину.
$post_id = 42;
$delete_link = get_delete_post_link( $post_id, '', true );
if ( $delete_link ) {
    echo '<a href="' . esc_url( $delete_link ) . '">Удалить пост без корзины</a>';
}
Важно
- Проверка прав пользователя: Убедитесь, что пользователь имеет право удалять пост. Обычно это проверяется с помощью функции current_user_can().
Пример с проверкой прав пользователя
Этот пример показывает, как добавить ссылку на удаление поста с проверкой прав пользователя.
if ( have_posts() ) {
    while ( have_posts() ) {
        the_post();
        if ( current_user_can( 'delete_post', get_the_ID() ) ) {
            $delete_link = get_delete_post_link();
            if ( $delete_link ) {
                echo '<a href="' . esc_url( $delete_link ) . '">Удалить этот пост</a>';
            }
        }
    }
}
Заключение
Функция get_delete_post_link() является полезным инструментом для получения ссылки на удаление поста. Она может быть использована как на фронтенде сайта, так и в административной панели. Используйте дополнительные параметры и проверки прав для обеспечения безопасности и удобства пользователей.
