Внутри панели WordPress

WordPress Admin Bar, впервые представленная в

версия 3.1 дебютировал неоднозначную реакцию.Поиск Google для “ WordPress Admin bar” возвращает несколько статей о том, как отключить или удалить ее. Версия 3.2 из WordPress введены новые функции и возможности, и Версия 3.3 имеет не только дальнейшее расширение, но интегрировать в заголовке раздел администрирования в баре себя.Поскольку эта функция никуда не денется, и это цифры в основном в плане WordPress по реализации интерфейсных редактирования, я думаю, мы бы все выгоды от глядя на то, где его особенностей пришли и как лучше сделать это иногда спорные особенность работы forus.

Inside the WordPress Toolbar

В дополнение к объяснений о том, как избавиться от админ-бар, вы найдете на веб-нет недостатка в методики и советы для customization, а также множество plugins, которые делают работу садмин-бар немного более приятным.Хотя я большой поклонник плагинов, зная, где функция исходит от очень важно, прежде чем решить, чтобы настроить его.В этой статье мы будем смотреть на историю админ-бар, когда (и откуда) бар включен, конкретные функции, которые разработчики WordPress “ядро дали нам, и как сделать админ-бар более личным и полезно.

Genesis

В начале админ-бар не делали много.Я подозреваю, что это было главной причиной отрицательной обратной связи.Первоначально он был включен на передней части сайта и отключить в раздел администрирования.Если вы были зарегистрированы в режиме просмотра общедоступной странице, админ-бар представил новый трубопровод в раздел администрирования.Он имел:

  • Ссылки редактировать свой профиль, просматривать приборную панель и выхода;
  • “Add New” в раскрывающемся меню, содержащее ссылки только для “Post” и “Page”;
  • Ссылка на страницу администрирования для комментариев, наряду с количеством комментариев в ожидании утверждения;
  • “Внешний вид” в раскрывающемся меню, с прямыми ссылками на виджеты в раздел администрирования иМеню страниц;
  • Ссылка на страницу администрирования для обновления, наряду с числом отложенных обновлений;
  • “Редактировать сообщение” ссылка отображается при просмотре отдельных post.

Админ-бар в WordPress 3.1

В то время это был отличный старт, некоторые нашли ограниченной функциональностью, больше бельмо на глазу, чем революционные улучшения в администрацию своего блога.Не удалось почтенный умы, которые привели нас настраиваемые поля, настраиваемые типы сообщение и автоматическое обновление сделать больше?Да, они could.

Версия 3.2 принесла много замечательных новых функций и исправлений для WordPress блогов, и админ-бар был на приемном конце некоторых из этих улучшений.Самое главное, что новая версия отличается от админ-бар на публичных страницах и один в раздел администрирования.Админ-бар был развивается, становится все более динамичным.Хотя до сих пор не игра-чейнджер на любом участке, это было improvement.

Обновления включают следующее:

  • “Dashboard” ссылка была перенесена из меню пользователя в свой слот на общедоступных админ-бар;
  • “View Post / Page” ссылка была добавлена ​​в раздел администрирования, когда вы редактируете пост или страницу;
  • “Медиа”, “Ссылка”, “Пользователь”, “Тема” и “Plugin” ссылки были добавлены в “Add New” в раскрывающемся меню;
  • “Темы”, “Фон” и “Заголовок” ссылки были добавлены в “Внешний вид” раскрывающийся menu.

Сейчас мы уже где-то!Эти обновления были улучшения, но мы все еще далеки от WordPress достойный инструмент.Он по-прежнему чувствовал себя не в месте и не похож он принадлежал.Крики были слышны еще раз: “Дайте мне админ-бар, что WordPress может гордиться!”

Версия 3.3 Шаги Up

Сервер растяжения функции, которые выкатили с текущей версии 3.3 являются гладкими, чтобы не сказать больше.До этого последний релиз, наш бедный админ-бар, который мы начали такие большие надежды, был практически потерян в лесу функций.Теперь это обновление принесло потенциальная сила админ-бар в центре внимания.Больше не бар смотреть, как она висит над страницу: он гладкий, это чисто, он сочетает дюйма Теперь, похоже, он должен быть там.Наконец, админ-бар, мы можем получить за

Главное место среди улучшений: это не называется админ-бар больше Сейчас на панели инструментов WordPress!.Все контакты раздел администрирования и информационных связей были объединены в выпадающем меню обозначается логотипом WordPress, который является более логичным.”Посетите сайт” ссылку сейчас скрыты под выпадающем меню отображается название веб-сайта (хорошее дополнение для тех из нас, кто регулярно использует администратор разделов несколько веб-сайтов).Если панель инструментов отображается на общей странице, выпадающее меню с названием сайта удваивает как старый “Внешний вид” меню, связываяк наиболее часто просматриваемые страницы в раздел администрирования.Самое главное, это была резко simplified.

WordPress 3,3 Toolbar, показывающая updates.

Комментариев ссылка была заменена комментарии пузырь, который визуально более наглядным, а “Внешний вид” в раскрывающемся меню были удалены из панели инструментов в разделе администратора с добавлением выпадающем меню сделалглавным образом излишним.Стремление к более динамичному панели инструментов продолжает ссылки на обновления отображаются только тогда, когда новая версия обнаружена, и он тоже был заменен на значок.Эти небольшие, но мощные изменения, все это приводит к безошибочное ощущение, что панель инструментов выглядит empty.Мы вернемся к этому в minute.

Going To The Source

Вернуться в августе 2011 года, я писал о том, как WordPress инициализирует себя при запросе страницы из server.В этом посте я пройти через почти строка за строкой, где большинство основных функций WordPress “происходит от.Файл wp-settings.php отвечает за загрузку львиная доля того, что мы считаем “WordPress”, включая панели инструментов.Начиная с версии 3.3, код на панели инструментов требуется от внешнего файла на линии 145 из wp-settings.php.Имя этого файла (как ни странно до сих пор) admin-bar.php , и она живет в /wp-includes каталог (вместе с подавляющим большинством остальных основных WordPress).Этот файл не сутулиться: это часы в 745 строк кода и определяет много функций, необходимых для нас, чтобы быть в состоянии работать с toolbar.

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

cat wp-includes/admin-bar.php | grep ^function

Эта команда должна производить нечто похожее на следующий вывод:

function _wp_admin_bar_init() {
function wp_admin_bar_render() {
function wp_admin_bar_wp_menu( $wp_admin_bar ) {
function wp_admin_bar_my_account_item( $wp_admin_bar ) {
function wp_admin_bar_my_account_menu( $wp_admin_bar ) {
function wp_admin_bar_site_menu( $wp_admin_bar ) {
function wp_admin_bar_my_sites_menu( $wp_admin_bar ) {
function wp_admin_bar_shortlink_menu( $wp_admin_bar ) {
function wp_admin_bar_edit_menu( $wp_admin_bar ) {
function wp_admin_bar_new_content_menu( $wp_admin_bar ) {
function wp_admin_bar_comments_menu( $wp_admin_bar ) {
function wp_admin_bar_appearance_menu( $wp_admin_bar ) {
function wp_admin_bar_updates_menu( $wp_admin_bar ) {
function wp_admin_bar_search_menu( $wp_admin_bar ) {
function wp_admin_bar_add_secondary_groups( $wp_admin_bar ) {
function wp_admin_bar_header() { ?>
function _admin_bar_bump_cb() { ?>
function show_admin_bar( $show ) {
function is_admin_bar_showing() {
function _get_admin_bar_pref( $context = 'front', $user = 0 ) {

Это, очевидно, не говорит нам многое о том, что exactly файл делает, но основные разработчики назвали функции описательно достаточно, чтобы дать нам намек на ответственность файлы, которые определяют them.

Выход выше говорит нам, что этот файл содержит 20 функций.Но вы, в конце концов наткнулся на файл, который выводит так много функций, которые вы не могли сосчитать их (я говорю вам, functions.php ).Чтобы быстро посчитать, сколько функцийнаходятся в файле, вы можете добавить wc -l для указанной команды:

cat wp-includes/admin-bar.php | grep ^function | wc -l

Это возвращает количество строк в выводе предыдущей grep command.

Достаточно командной строки fu.Давайте поговорим о том, как отдавать эти функции панели инструментов на нашем сайте!С быстрым взглядом, мы можем почерпнуть ценную информацию от названий этих функций.Очевидно, что первая инициализация панели инструментов.Второй также довольно очевидна: она оказывает на панели инструментов.Следующие 14 функций добавить элементы по умолчанию на панели инструментов и установить его начальную стиль.Название _admin_bar_bump_cb() не так показательны, это функция обратного вызова, который выводит на страницу стиля тег, который создает достаточный запас на вершине, чтобы отобразить панель инструментов.Последние три довольно легко: show_admin_bar() показывает и скрывает панель инструментов; is_admin_bar_showing() могут быть использованы в ваш плагин или тему в functions.php файл для проверки на панели инструментов должны отображаться на всех, и _get_admin_bar_pref() используется is_admin_bar_showing().

До сих пор наиболее важная функция _wp_admin_bar_init().В строке 39 admin-bar.php, эта функция будет добавлена ​​в init крюк действий.Этот хук является одним из последних, которая будет выполнена во время инициализации WordPress.Если вы посмотрите на эту функцию, вы увидите его истинное значение: он отвечает за загрузку WP_Admin_Bar класс от class-wp-admin-bar.php.После создания экземпляра этого класса, он выполняет две его методы, которые используют большинство функций говорилось выше: initialize() и add_menus().Бывший отвечает за создание нашего тулбара объект в памяти, а второй придает 11 из функций, определенных в admin-bar.php действия крюка admin_bar_menu, которая гарантирует, что они выполняются в нужное время.Эти 11 функций несут ответственность за заполнение панели инструментов со всеми ее функциональность по умолчанию.В принципе, admin-bar.php определяет функции, которые дают жизнь на панели инструментов, и class-wp-admin-bar.php определяет методы, которые позволяют нам взаимодействовать с ним, как только это alive.

! Скучно

Я знаю, я знаю.Чтение исходного кода никогда не гламурно.Но важно, чтобы узнать о возможностях, которые не являются очевидными из других ресурсов и учебники.Ранее я говорил, что панель инструментов в версии 3.3 выглядит немного пустым.И когда я вижу пустое пространство, я не могу помочь, но хотят, чтобы наполнить его интересный материал!Итак, давайте наши пальцы грязные и начать тыкать на панели инструментов, чтобы сделать его проснуться и сделать некоторые трюки.Чтобы сохранить эти примеры нормализуется, мы будем использовать TwentyEleven тема для всех следующий код.Если вы хотите следовать вдоль дома, просто поп открыть functions.php файл в TwentyEleven и взломать вместе со мной.Ваша оценка будет меняться с другими themes.

Показ и Hiding

Давайте начнем с простой задачей.Мы видели выше, что admin-bar.php определяет show_admin_bar() функции.Хотя вы можете отключить панель инструментов, сняв коробку в вашем профиле пользователя, давайте посмотрим, как это сделать в коде.Добавьте следующие строки в конце functions.php:

/**
* Hide the Toolbar if not in the admin section
*/
if ( ! is_admin() ) {
show_admin_bar(false);
}

Три линии — не более тулбар!Вряд лиглубокий пример, но это только начало.Этот код сначала проверяет, имеется ли мы на странице администратора, и если мы not, то мы говорим WordPress, чтобы скрыть toolbar.

Снятие умолчанию Items

Я не чувствую, что “Новый” меню.Он имеет отношение, и я хочу показать это кто в доме хозяин.Давайте свалку it.

/**
* Remove the "+ New" menu from the Toolbar
*/
function remove_toolbar_new_menu() {
global $wp_admin_bar;
$wp_admin_bar->remove_menu('new-content');
}
add_action('admin_bar_menu', 'remove_toolbar_new_menu', 300);

Получай, “Новый” меню!Код довольно прост, но давайте пройдем через это в любом случае.Вернуться в admin-bar.php, _wp_admin_bar_init() функция назначает наш новый WP_Admin_Bar класса переменной $wp_admin_bar.Итак, сначала мы должны использовать ~ PHP-41 | ключевое слово, чтобы довести эту переменную в сферу наших функцию.После этого все мы должны сделать, это позвонить remove_menu() метод и передать его ID мы хотим remove.

Том, чтобы убедить эту функцию, которая будет вызываться в нужное время.Есть несколько способов сделать это.Помните, что _wp_admin_bar_init() вызывает add_menus() Метод после инициализации.Глядя на этот метод в class-wp-admin-bar.php, мы видим, что все элементы по умолчанию в панели инструме …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.