Добавляем кнопку Удалить запись на Панель инструментов WordPress

Панель инструментов или, как её ещё называют админ-панель, админ-бар, впервые появилась ещё в WordPress 3.1. Напомню, что она добавляет такие полезные опции, как добавление новой записи или редактирования существующей. Однако по-моему там не хватает кнопки удаления поста / помещения его в Корзину, - приходится либо надеятся на то, что в используемой вами теме разработчики уже встроили ссылку удаления поста, либо можно воспользоваться следующим сниппетом:

<?php
add_action('admin_bar_menu', 'admin_bar_post_remove', 35);

function admin_bar_post_remove() {
    global $wp_admin_bar;

    // Проверяем, что Панель инструментов показывается и т.п:
    if (!is_super_admin() || !is_admin_bar_showing()) :
        return;
    endif;

    $current_object = get_queried_object();

    // Если соблюдены все иные необходимые условия:
    if (empty($current_object)) :
        return;
    endif;
    if (!empty($current_object->post_type) and
            ( $post_type_object = get_post_type_object($current_object->post_type) ) and
            current_user_can($post_type_object->cap->edit_post, $current_object->ID)
    ) :
        // Добавляем "Удалить запись" на Панель инструментов
        $wp_admin_bar->add_menu(
                array(
                    'title' => 'Удалить запись',
                    'id' => 'delete_post',
                    'href' => get_delete_post_link($current_object->term_id),
                )
        );
    endif;
}
?>


Соответствующая ссылка будет появлятся в меню, если у пользователя есть соответствующие права, и просматриваемая страница является страницей или записью. Я использую крючок на действие admin_bar_menu. Код вставьте в файл functions.php или в файл плагина.





© 2012-2014 Druweb.ru. Вы можете спокойно копировать любые материалы сайта только при наличии обратной ссылки.