Упрощаем админку wordpress
Недавно заказали мне разработку блога на wordpress – купил хостинг, домен, договорились по тз и я начал работу. После установки системы и добавления парочки плагинов сложилась неприятная ситуация, когда админка начала глючить, отказывалась загружать некоторые пункты меню с настройками и т.п. Это были последствия ограничений хостинга и нехватка памяти для выполнения тех или иных скриптов. Забегая наперед скажу, что все удалось решить путем увеличения memory_limit для wordpress, о чем я уже писал ранее. Но перед этим я решил немного поэкспериментировать с настройками админки системы и сделать ее «легче» дабы загрузка не требовала много памяти.
Первым делом появилось желание «подправить и облегчить» Dashboard (доску объявлений или консоль), где выводится последняя и общая информации по блогу – посты, комментарии, блок быстрой публикации, а также новости wordpress. Вместо того чтобы хорошенько подумать, а начал копать информацию из интернета и гуглить по поводу «Лайт» версии. Перечитал с десяток статей, нашел некий Dashboard Lite, а потом вспомнил, что ведь в новых версиях системы есть возможность настраивать внешний вид:
Как говорят в таких случаях – «а ларчик просто открывался»:) Единственное, что можно добавить в этом случае – Clean Options. Он позволяет удалить из базы данных информацию, которая импортируется и сохраняется из RSS каналов для вашего Dashboard. Плюс кое-что можно реализовать через другие плагины для WordPress панели.
Также для ускорения работы и, возможно, уменьшения потребления памяти хостера мне советовали поставить google gears. Это open sourse приложение, которое добавляет в браузер некоторые дополнительные особенности и позволяет работать «требовательными к ресурсам» веб проектами. В результате часть информация хранится локально, JavaScript запускаются как-то там в background`е чтобы увеличить быстродействие и т.п. В общем, суть в том, что для начала нужно будет установить это приложение с официального сайта, а затем в меню wordpress инструменты его активировать.
Если у вас еще не установлен google gears, то в админке wordpress сверху будет ссылочка «Турбо», которая ведет на сайт установки. Собственно, данный метод мне все равно не помог как-либо разобраться с глюками админки.
Еще я находил в сети плагины, которые позволяли настраивать меню админки wordpress, удаляя из него ненужные пункты. В принципе, я не собирался с этим экспериментировать, так как был уверен, что скрытие определенных пунктов меню путем установки дополнительного модуля уж точно мне не поможет. А чуть позже я нашел хаки как сделать это без плагина и все же решил попробовать. Кстати, в работе нам пригодится описанный ранее файл функций темы functions.php для wordpress. Открываем его и добавляем следующий код:
<?php function remove_submenu() { global $submenu; //var_dump($submenu['themes.php']); unset($submenu['index.php'][0]); unset($submenu['index.php'][1]); //unset($submenu['edit.php'][5]); unset($submenu['edit.php'][51]); unset($submenu['edit.php'][52]); unset($submenu['edit.php'][53]); unset($submenu['edit-pages.php'][5]); unset($submenu['edit-pages.php'][10]); unset($submenu['link-manager.php'][5]); unset($submenu['link-manager.php'][10]); unset($submenu['link-manager.php'][15]); unset($submenu['themes.php'][5]); unset($submenu['themes.php'][7]); unset($submenu['themes.php'][15]); unset($submenu['users.php'][5]); unset($submenu['users.php'][10]); unset($submenu['users.php'][15]); } function remove_menu() { global $menu; //remove post top level menu unset($menu[10]); } add_action('admin_head', 'remove_menu'); add_action('admin_head', 'remove_submenu'); ?> |
Внимание! Советую также глянуть статью Как убрать пункты меню в WordPress которую я написал спустя несколько лет. Этот материал будет поновее.
А теперь, собственно, парочка комментариев к примеру выше. Функция remove_submenu удаляет подпункты в разделах меню. Как видите они имеют вид массива, то есть, например, строки unset($submenu[‘edit-pages.php’][5]) и unset($submenu[‘edit-pages.php’][10]) убирают из раздела «Страницы» пункты «Изменить» и «Добавить новую». Зачем это нужно? – просто когда вы кликаете по названию раздела «Страницы» то попадаете в раздел, где можно их редактировать и создавать. По сути, подпункты не нужны. Так вот в этих двух записях ячейки массива с номером 5 и 10 отвечают за соответствующие подпункты. Чтобы узнать какие бывают еще я использовал функцию var_dump($submenu[‘themes.php’]), что выводила весь массив в самом начале html страницы. Потом, конечно, ее нужно закомментировать. Вторая часть кода функция remove_menu() используется для удаления целых пунктов меню – в данном примере я убрал раздел «Мультимедиа».
Упрощение админки удалось, вот только работать шустрее она от этого не стала и соответственно глюки при загрузке некоторых страниц остались. В общем, если что нужно все же копать в сторону memory_limit, остальные «маневры» походу дают минимальный эффект. Если же вам нужно ускорить сайт, то там нужно обратить внимание на оптимизацию WordPress header, кеширование, вес картинок и другие фишки.
P.S. Постовой. Встречайте новый полезный проект — SEO Помощник для вебмастеров.
комментария 22 к статье “Упрощаем админку wordpress”
Блог Wordpress Inside поможет вам научиться работать в вордпресс, закрепить и расширить имеющиеся знания. Плагины и шаблоны, разные хаки и функции wp, оптимизация и безопасность системы – все это и намного больше вы сможете найти на страницах нашего проекта!
Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога:
- Як сховати відсутні товари в Woocommerce шорткодах та схожих товарах
- Сервіс AdMaven + плагін для монетизації трафіка на WordPress сайтах
- Плагіни для створення стрічки новин з біжучим рядком в WordPress
- Як змінити розміщення кнопки оформлення замовлення в WooCommerce
- Плагін WHWS Display In Stock Products First – відображення товарів в наявності першими
- Підписка MonsterONE: чи варто використовувати цей сервіс у 2023 році? (+5 продуктів, які треба скачати в першу чергу)
- Онлайн генератор ссылок на мессенджеры для WordPress и не только
- WooCommerce (46)
- Безопасность (12)
- Видео (6)
- Виджеты (28)
- Возможности (141)
- Вопрос-ответ (6)
- Начинающим (52)
- Новости (46)
- Оптимизация (23)
- Плагины (246)
- Сервисы (87)
- Хаки и секреты (87)
- Шаблоны (45)
- Записи и посты wordpress, оформление записи (5,91 из 7, голосов - 47)
- Проблема с адаптивными изображениями в Gutenberg редакторе WordPress (3,93 из 7, голосов - 44)
- Умный копирайт в footer.php для wordpress (5,63 из 7, голосов - 30)
- Обновление плагинов и тем в WordPress: автоматическое, через FTP, скрытие уведомлений (5,19 из 7, голосов - 31)
- Polylang — плагин для мультиязычных сайтов на нескольких языках в WordPress (4,42 из 7, голосов - 31)
- Плагин TinyMCE Advanced – wordpress текстовый редактор (6,35 из 7, голосов - 20)
- Рубрики и категории wordpress, функция wp_list_categories (6,05 из 7, голосов - 20)
- Дизайн Мания - о веб-дизайне и не только.
- Tod's Blog - все про заработок онлайн.
- Вебдванольные заметки - обзоры веб-сервисов.
- Советы по выбору холодильника LG с технологией No Frost
- Зачем нужны Wi-Fi ретрансляторы и как выбрать подходящую модель
- Введение в онлайн-казино Slotor777: многообразие игр и привлекательные бонусы
- Необходимость использования облачного хранилища в наше время, что важно и как выгодно?
- Спрощення процесу звітності за допомогою програми BAS Бухгалтерія
- Технологія підключення інтернету GPON та її переваги
- За що гравці найбільше цінують Lineage 2
- Для каких проектов нужна аренда виртуального сервера и что такое VPS
существенно облегчить админку можно с помощю двух плагинов:
Adminimize : http://wordpress.org/extend/plugins/adminimize/ и
Admin Trim Interface (не хочу постить ссылку, потому что знаю, что уйдет тогда комент на модерацию)
Я эти плагины использую, чтобы заказчикам отдать сайт с максимально упрощенной админкой, чтобы ничего лишнего не наклацали. :)
Только, как ты заметил, шустрее от этого сам сайт работать не станет. Тут нужен другой подход. Во первых — подключить русский lite файл перевода от Лекактуса (тогда внешне сайт будет на русском а админка на английском) — но этот вариант подходит только тем заказчикам, которые не растеряются в английской админке.
Во вторых — подключить плагин от того же Лекактуса «Блокировка запросов на новые версии» (вордпресс два раза в сутки посылает запросы на наличие обновлений каждого установленного плагина и это существенно притормаживает его работу) — сразу ощутишь как шустрее админка заработает после включении плагина блокировки.
Ну а дальше — плагин WP-Tuner в руки и выяснять все тормозящие элементы конкретного сайта и устранять по одному :)
Не советую использовать Gears, т.к. это очень глючная вещь. Лично я от неё отказался + Google официально заявил о прекращении её поддержки
lilumi, хе-хе, я как раз надеялся, что ты прокомментируешь и подскажешь что-то по делу. Спасибо!
Правильно ли я понимаю, что lite файл перевода от Лекактуса нужен только тогда, когда ты используешь его сборку? То есть если я ставлю английскую админку, то и смысл в этом лайте пропадает.
Тоже, пожалуй, уберу у себя все ненужное. Спасибо за информацию.
нет, lite файл перевода можно использовать на любом вордпрессе, который хочешь, чтобы был на русском языке для посетителей. А если сайт вообще не будет использовать файл перевода (то есть будет на английском, кроме тех моментов, где ты явно в теме укажешь русские слова) то действительно файла lite перевода и не нужно совсем.
Подскажите, пожалуйста. Я установил два плагина wp-ban и hyper cache. Думаю все вы их знаете.
Так вот спустя пару дней я столкнулся с ситуацией что забанил сам себя. И дело не в том, что я указал неверный ИП для бана, а просто зашел забаненый ИП на сайт и страница, которая показывалась ему (You are banned), закэшировалась.
Кто подскажет как правильно решить подобную проблему? Как заабнить только нужный ИП а что бы другим не было бана не при каких обстоятельствах? Спасибо.
Обязательно попробую названные плагины, тяжесть админки порядком уже достала! :)
Я тоже изголялся раньше, что бы убрать тормоза админки. Потом терпение кончилось и перешел на виртуальный выделенный сервер. И админка летает, и сайт шустрее работает. А в свете того, что поисковики ранжирят сайты и по скорости загрузки — переход с обычного хостинга, это гуд.
А я использую супер кэшь и под корень рублю все не нужное)
Но с плагинами попробую, обязательно. Большое спасибо.
danila, зайди через фтп или спанель и удали этот плагин, или лучше залезть в базу данных через спанель и ручками исправить.
Ппц,гугл отказался от сапорта этой вещицы… :(
Очень не понравилось, что говориться о плагинах каких-то, а сылки на плагины не присутствуют… Нам их самим искать? Я конечно все понимаю, но это не кошерно для такого блога…
я использую Admin Drop Down Menu, он добавляет в субменю «профиль» ссылку выход, но она почему-то не показывается у простого подписчика. как включить этот пункт?
array(4) { [5]=> array(3) { [0]=> string(40) «Авторы и пользователи» [1]=> string(10) «edit_users» [2]=> string(9) «users.php» } [10]=> array(3) { [0]=> string(29) «Добавить нового» [1]=> string(12) «create_users» [2]=> string(12) «user-new.php» } [15]=> array(3) { [0]=> string(21) «Ваш профиль» [1]=> string(4) «read» [2]=> string(11) «profile.php» } [16]=> array(4) { [0]=> string(10) «Выйти» [1]=> int(1) [2]=> string(21) «ozh_admin_menu_logout» [3]=> string(10) «Выйти» } }
думаю надо капать в эту сторону, но никак не могу подобрать код:
function add_submenu() {
global $submenu;
//var_dump($submenu[‘users.php’]);
$submenu[‘user.php’][16]; — вот что тут должно быть? Подскажите, пожалуйста.
}
add_action(‘admin_head’, ‘add_submenu’);
Помогите!
Wordpress 3.1
Стоит такая задача:
— админом будут регистрироваться пользователи. Они будут вести что-то наподобие своего блога.
Для каждого пользователя будет заводиться свой раздел.
— надо что бы конкретный пользователь мог писать только в свой раздел. И при этом лучше, чтобы он другие разделы и не видел.
Может для такого есть плагины?
Николай, название плагина точно не помню, но что-то такое встречал касательно разделения прав пользователей.
>Николай, название плагина точно не помню, но что-то такое встречал касательно разделения прав пользователей.
Есть такие. Но они не делают так, чтобы конкретный пользователь мог писать только в конкретную категорию.
Я посмотрел в ядре WP.. Вывод списка разделов идет в wp-admin/includes/meta-boxes.php
функция post_categories_meta_box
Самому сделать можно.
Но как эту функцию подменить? Или как в неё внедриться, что бы код ядра не править?
Николай, насколько я помню, там были весьма большие разграничения прав, в том числе и по категориям, например вроде в Role Scoper есть по категориям. В общем, поискать что-то в стиле «user roles» или «user permissions». Самому делать будет крайне сложно дабы это органично, правильно и безопасно вписалось в ядро системы (а ведь потом придется ее еще и обновлять).
Спасибо Тоd.
Поищу, попробую.
Сейчас установил:
Plugin Name: Role Manager
Plugin URI: http://www.im-web-gefunden.de/wordpress-plugins/role-manager/
С ним поразбираюсь.
Начала искать плагин..который ограничивает права.
Adminimize наиболее подходил.. но у него не работала сама фукнция включения некоторых полей wp-shop..
то есть если я сужу с пользовательской точки зрения.. то члеовеку необходимо не все администрирование, а лишь записи, и плагин wp-shop, для редактирования заказов, который не включается.!
подскажите, может быть у вас есть иное решение?
спасибо!
Наталья, единственное что могу посоветовать — тестировать другие плагины с управлением правами пользователей, там вроде как их много есть. Сам с этим вопросом не сталкивался, поэтому подсказать точно не смогу.
Много перепробовала.. нет ничего похожего Adminimize /////
но он почему-то не работает!
Хороший совет.
А то было очень много лишнего. Убрал многое.