Задавайте вопросы по курсам WordPress

Добавляем кнопку в admin bar. Добавить в корзину.

Очень полезно иногда чистить сайт от старых объявлений, например от объявлений из базы недвижимости. Рассмотрим пример как именно добавить свою кнопку отправки поста в корзину в админ баре.

Все стандартные кнопки можно найти в массиве, содержащемся в объекте $post_type_object->labels. Информацию о кнопках, которые можно разместить, несложно найти в файле wp-includes/link-template.php.

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 );

Если немного дополнить код то можно сделать кнопку с иконкой.

'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 мы можем также их удалять, зная нужный индекс. Это полезно если не хотите показывать отдельный пункт для зарегистрированных пользователей.

Пример удаления кнопки комментариев из админ бара:

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 вашей темы.

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' );
}

Также можно проверить пользователя на уровень его привилегий.

get_currentuserinfo() ;
global $user_level;
if ($user_level <> 10) {
   ... тут код ...
}

Подробнее о привилегиях на английском читайте тут: user level wordpress. Если захотите написать статью на мой сайт об этом можете зарегистрироваться или просто войти через соц сети. После входа вы получите возможность писать статью. Если статья получится полезной я ее выложу, возможно с поправками.

Код показанный в статье работает все проверил ). Еще одна статья в тему для вас: добавления целого меню в админ бар WordPress.


Купить хостинг WordPress
/* Репетитор по wordpress
Услуги репетитора онлайн. Список курсов которые я веду
  • Базовый курс по веб-дизайну;
  • Верстка сайтов;
  • Общий курс по CMS WordPress и продолжение курса по разработке шаблонов;
  • Разработка сайтов на PHP.
Подробнее читайте на странице репетитор по WordPress
*/

Николаенко Максим

Директор веб-студии ProGrafika. Занимаюсь разработкой, дизайном и продвижением веб-сайтов. Всегда рад новым читателям блога и хорошим клиентам.


Вам может также понравиться...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Шаблоны для WordPress
Самый лучший хостинг в Украине
Стабильный хостинг для Drupal