Добавляем кнопку в admin bar. Добавить в корзину.
Очень полезно иногда чистить сайт от старых объявлений, например от объявлений из базы недвижимости. Рассмотрим пример как именно добавить свою кнопку отправки поста в корзину в админ баре.
Все стандартные кнопки можно найти в массиве, содержащемся в объекте $post_type_object->labels. Информацию о кнопках, которые можно разместить, несложно найти в файле wp-includes/link-template.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function fb_add_admin_bar_trash_menu() { global $wp_admin_bar; if ( !is_super_admin() || !is_admin_bar_showing() ) return; $current_object = get_queried_object(); if ( empty($current_object) ) return; if ( !empty( $current_object->post_type ) && ( $post_type_object = get_post_type_object( $current_object->post_type ) ) && current_user_can( $post_type_object->cap->edit_post, $current_object->ID ) ) { $wp_admin_bar->add_menu( array( 'id' => 'delete', 'title' => __('Move to Trash'), 'href' => get_delete_post_link($current_object->term_id) ) ); } } add_action( 'admin_bar_menu', 'fb_add_admin_bar_trash_menu', 35 ); |
Если немного дополнить код то можно сделать кнопку с иконкой.
1 |
'title' => __('<img src="/wp-content/themes/themes-name/images/trash_(delete)_16x16.gif" alt="Move to Trash" title="Move to Trash" style="margin-top:5px" />' ) |
Удаляем лишние пункты из admin bar WordPress
Кроме добавления новых кнопок в админ бара WordPress мы можем также их удалять, зная нужный индекс. Это полезно если не хотите показывать отдельный пункт для зарегистрированных пользователей.
Пример удаления кнопки комментариев из админ бара:
1 2 3 4 5 |
function fb_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu('comments'); } add_action( 'wp_before_admin_bar_render', 'fb_admin_bar_render' ); |
Еще полезно ограничить некоторые пункты, для пользователей и проверить отключен админ бар или нет, это сделать очень просто. Для удаления пунктов достаточно указать короткое условие в файл functions.php вашей темы.
1 2 3 4 5 6 |
function wp_admin_bar_init() { if (!is_super_admin() || !is_admin_bar_showing() ) return; add_action( 'wp_before_admin_bar_render', 'fb_admin_bar_render' ); } |
Также можно проверить пользователя на уровень его привилегий.
1 2 3 4 5 |
get_currentuserinfo() ; global $user_level; if ($user_level <> 10) { ... тут код ... } |
Подробнее о привилегиях на английском читайте тут: user level wordpress. Если захотите написать статью на мой сайт об этом можете зарегистрироваться или просто войти через соц сети. После входа вы получите возможность писать статью. Если статья получится полезной я ее выложу, возможно с поправками.
Код показанный в статье работает все проверил ). Еще одна статья в тему для вас: добавления целого меню в админ бар WordPress.

/*

- Базовый курс по веб-дизайну;
- Верстка сайтов;
- Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
- Разработка сайтов на PHP.