Як у верхню панель 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-підтвердження;
- якщо натиснути Скасувати, перехід не відбудеться.
В результаті ви отримаєте більш безпечне видалення.
