18 марта 2011

WordPress 3.1 – Админбар

logo wordpress 3.1В WordPress 3.1 было добавлено несколько важных и интересных возможностей. Ранее в разных статьях я уже вкратце писало них. В частности про админбар и внутреннюю перелинковку и о новых возможностях wordpress 3.1
Среди этих функций была добавлена возможность использования админбара.
Позаимствован админбар из популярной блогплатформы wordpress.com. Поэтому, если вы уже ведете свой блог на wordpress.com, то увидите знакомый интерфейс, если же нет, то советую прочесть статью как быстро создать блог на wordpress.
По сути, админбар — это расширение главного меню админки wordpress с пока не очень широкими возможностями для управления, которые частью дублируют главное меню, при этом не являясь ему заменой. Главное отличие админбара — это возможность его вывода для front-end, т.е. на страницах сайта, а не только в админке, при условии, что осуществлён вход в админку.
Админбар будет особенно удобен для тех, кто пользуется мультисайтовыми возможностями wordpress, кто имеет зарегистрированных пользователей, обеспечивает доступ в один клик в консоль и делает жизнь новичков немного легче.
В сегодняшней статье расскажу подробнее о том, как можно настраивать админбар под свои нужды.

Как разрешить/запретить использование админбара

Делается это в настройках, через главное меню Пользователи->Ваш профиль
wordpress 3.1и делается так для каждого пользователя в отдельности.

Чтобы отключить использование админбара сразу для всех пользователей, включите следующий код в файл functions.php вашего шаблона

add_filter( 'show_admin_bar', '__return_false');

Чтобы убрать возможность управления подключением админбара из профиля пользователя, используйте следующий код для удаления чекбоксов:

add_action( 'admin_print_scripts-profile.php', 'on_hide_admin_bar' );
function on_hide_admin_bar() { ?>
<style type="text/css">
    .show-admin-bar { display: none; }
</style>
<?php
}

Как изменить положение админбара

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

function on_admin_bar_to_bottom() {
        echo "
        <style type='text/css'>
        html {
                padding-bottom: 28px !important;
        }

        body {
                margin-top: -28px;
        }

        #wpadminbar {
                top: auto !important;
                bottom: 0;
        }

        #wpadminbar .quicklinks .menupop ul {
                bottom: 28px;
        }
        </style>
        ";
}

add_action('admin_head', 'on_admin_bar_to_bottom');
add_action('wp_head', 'on_admin_bar_to_bottom');

Обратите внимание, что в последнем примере используется сразу два хука, первый для смещения вниз админбара для админки, второй — для страниц сайта(front-end).

Как удалить пункты меню из админбара

Используйте следующий код для удаления пункта меню Комментарии:

function on_admin_bar_render() {
	global $wp_admin_bar;
	$wp_admin_bar->remove_menu('comments');
}
add_action( 'wp_before_admin_bar_render', 'on_admin_bar_render' );

Зная идентификаторы, которые используются для каждого пункта меню, вы можете убрать любые разделы. Чтобы найти идентификаторы, можно посмотреть файл в папке: wp-includes/admin-bar.php вашей установки.
Список нескольких идентификаторов:

  • new-content: выпадающее меню Новый материал
  • comments: пункт меню Комментарии
  • appearance: выпадающее меню Внешний вид
  • updates: пункт меню Обновления
  • my-account-with-avatar: указывает на аватарку пользователя и связанное с ней меню

Как добавить новые пункты в меню админбара

Если вам нужно добавить подпункты в меню админбара, то воспользуйтесь, для примера,  следующим кодом, который даст возможность перейти на страницу для загрузки нового медиафайла через админбар->новый материал:

function on_admin_bar_render() {
	global $wp_admin_bar;
        $wp_admin_bar->add_menu( array(
        'parent' => 'new-content',
        'id' => 'new_media',
        'title' => __('Media'),
        'href' => admin_url( 'media-new.php')
    ) );
}
add_action( 'wp_before_admin_bar_render', 'on_admin_bar_render' );

Используйте идентификаторы описанные выше для подстановки в качестве значения для parent, если же указать false (без кавычек), то добавится новый пункт в главном меню.
Беспроводная сеть Wi-Fi c motorola точка доступа — для офисов и небольших магазинов, складов, больниц и гостиниц

Статьи по теме
Статья оказалась полезной? Подпишись на RSS рассылку или следуй за мной на твиттере @wpstarter или по этой ссылке wpstarter

Комментариев: 9

Вы можете следовать любому комментарию через RSS 2.0 feed.

Вы можете оставить комментарий или trackback с вашего сайта.

  1. А я сразу удалил админбар.Лишние запросы ни к чему.

  2. с одной стороны иногда удобно)
    я у себя ничего не сносил…оставил…пока не мешает

  3. Интересует, как реализовать, чтобы при нажатии на «Выход» в админ-баре, загружалась главная страница сайта, а не wp-login.php, т.к форму входа сделала в стиле админ-бара, и загружать wp-login уже нет необходимости. Ещё иногда выскакивает страница, на которой требуется подтвердить, что, да, хочу выйти… ни к чему она тоже…

  4. T!M:

    Спасибо. То, что было нужно. Хотя я долгое время искал причину почему админбар не отображается. Оказалось, что в подвале моей темы не было . Но вот появился админбар и я понял, что он абсолютно не нужен. Все необходимые ссылки для пользователей я уже настроил с помощью плагина Theme My Login. Еще раз спасибо.

  5. Не получается загрузить видео в тему сайта. Как это сделать?

  6. А у меня наоборот — ПРОПАЛА верхняя панель инструментов и мне теперь, что бы попасть в админку каждый раз приходится каждый раз логиниться и паролиться. Галочка стоит там, где нужно — показывать панель инструментов. Но её нет.
    Кстати, ещё такая проблема. Зашла намедни в меню Пользователь и обнаружила там ещё одного админа. Как долго он там просуществовал, как попал — не знаю. Вполне вероятно, что и панель инструментов пропала тогда же. Новоявленного админа удалила, пароль поменяла, а как панель на место вернуть? Помогите!

Оставьте комментарий

Обведите фигуру по линии:

Ставим WordPress на локальном копьютере