Як у верхню панель WordPress додати посилання на видалення поста/сторінки

Привіт:) Іноді виникає потреба швидко видалити пост чи сторінку без переходу в редактор. Зазвичай у WordPress потрібно натиснути Редагувати..., перейти у редактор і вже там відправити матеріал у кошик. Але можна спростити процес — додати у верхню панель (admin bar) кнопку У кошик, яка одним кліком перемістить контент у кошик.

У цьому пості покажу як це зробити.

В результаті це виглядатиме приблизно так:

до змісту ↑

Додавання кнопки У кошик у верхній панелі WordPress

Для цього просто вставте у файл functions.php код

/**
 * Add a link to delete a post/page in the WordPress top bar
 */
add_action( 'admin_bar_menu', function( $wp_admin_bar ) {
    if ( ! is_admin_bar_showing() || ! is_user_logged_in() ) {
        return;
    }

    $current_object = get_queried_object();

    if ( empty( $current_object ) || empty( $current_object->post_type ) ) {
        return;
    }

    // Перевірка прав доступу
    $post_type_object = get_post_type_object( $current_object->post_type );
    if ( ! current_user_can( $post_type_object->cap->delete_post, $current_object->ID ) ) {
        return;
    }

    // Формуємо кнопку
    $args = array(
        'id'    => 'delete_post',
        'title' => '🗑 У кошик',
        'href'  => get_delete_post_link( $current_object->ID ),
        'meta'  => array(
            'class' => 'delete-post-link',
            'title' => 'Перемістити в кошик цей запис/сторінку',
        ),
    );

    $wp_admin_bar->add_menu( $args );
}, 999 );

✅ Цей код:

  • додає у верхній панелі кнопку У кошик;
  • перевіряє, чи користувач має право видаляти записи;
  • працює як для постів, так і для сторінок та кастомних типів записів;
  • одразу відправляє матеріал у кошик (без підтвердження).

❗ Важливі зауваження

  • Кнопка доступна лише для користувачів із відповідними правами (delete_post). Звичайні користувачі чи автори без прав її не побачать.
  • Видалення відбувається без підтвердження, тому варто бути уважним. Якщо потрібно зробити попередження — можна обгорнути посилання у JS-діалог із підтвердженням.
  • Контент не зникає остаточно, а потрапляє у Кошик. Звідти його завжди можна відновити.
до змісту ↑

Приклад із підтвердженням перед видаленням

Щоб вивести підтвердження перед видаленням, можна додати такий скрипт:

// JS підтвердження видалення
add_action( 'wp_footer', function() {
if ( is_user_logged_in() && is_admin_bar_showing() ) : ?>
<script>
document.addEventListener('click', function(e) {
let btn = e.target.closest('.delete-post-link');
if (btn) {
if (!confirm('Ви впевнені, що хочете перемістити цей пост у кошик?')) {
e.preventDefault();
}
}
});
</script>
<?php endif;
} );

🔹 Тепер:

  • скрипт підвантажується у фронтенді, якщо юзер залогінений і бачить адмін-бар;
  • натискання на посилання У кошик викличе стандартне JS-підтвердження;
  • якщо натиснути Скасувати, перехід не відбудеться.

В результаті ви отримаєте більш безпечне видалення.

Михайло Петров
Михайло Петров

Мене звати Михайло. Я — WordPress-розробник. Створюю візитки, корпоративні сайти, інтернет-магазини, блоги на WordPress. Надаю консультації з WordPress.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *