Авг
10

10 хаков для настройки административной панели WordPress

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

1. Удаляем админ-бар в верхней части экрана

Эта панель появилась в WordPress, начиная с версии 3.1 и очень напоминает админ-панель из Twitter. Видимо, твиттеромания перекочевала и в WoordPress.

Если вам не нравится эта панель или доставляет неудобства, вы можете отключить ее, добавив фильтр в файл functions.php:

add_filter( 'show_admin_bar', '__return_false' );

2. Назначаем интервал автосохранения

WordPress имеет возможность автоматически сохранять ваши записи или страницы, так что если вдруг вы случайно закрыли браузер или ваш компьютер неожиданно выключился, то вы не потеряете все ваши записи, а работа ваша не будет напрасной. Думаю, слишком частое автоматическое сохранение все-так сказывается в некоторой степени на производительность сайта, поэтому вы сами можете задать интервал автосохранения. Чтобы задать этот интервал, нужно добавить нижеприведенную строку в файл wp-config.php движка:

define('AUTOSAVE_INTERVAL', 600); // 60 * 10, автосохранение каждые 10 минут

Обратите внимание, что в качестве единиц измерения времени берутся секунды. Вышеприведенный код позволяет производить автосохранение каждые 10 минут.

3. Отключаем автосохранение записей

Некоторые авторы своих записей предпочитает полное отключение автосохранения. Это можно сделать добавлением кода в файл functions.php:

function no_autosave() {
  wp_deregister_script('autosave');
}

add_action( 'wp_print_scripts', 'no_autosave' );

4. Сокращение или отключение истории изменения записей

Все вы видели в самом низу страницы редактирования записи блок с ревизиями, в котором хранится история изменения записи, к которым вы можете вернуться и этот блок может содержать очень большое количество ревизий, которые вам вряд ли будут нужны или, допустим, вам будет достаточно лишь последних, наиболее свежих пяти.

Это не только занимает большое количество места на странице, но и также занимает некоторое количество места в базе данных, а это вряд ли кому то будет нужно. Чтобы ограничить количество сохраненных копий записи или отключить отображение вообще, добавьте в файл wp-config.php следующий код:

define('WP_POST_REVISIONS', 5); // Максимум 5 записей
define('WP_POST_REVISIONS', false); // Отключить сохранение

5. Очистка корзины автоматически

Такой инструмент, как корзина, был введен еще в WordPress 2.7 и остается вплоть до самой последней версии. Этот инструмент очень удобен, так как позволяет вам восстанавливать случайно удаленные записи в административной панели сайта. Корзина действует по тому же самому принципу, что и, например, корзина в Windows. Опять же, помещенные записи в корзину не удаляются физически, а остаются в базе данных, поэтому очень важно периодически очищать корзину, высвобождая тем самым свободное место в базе данных. Согласитесь, выносить мусор из дома не очень интересное занятие и было бы гораздо удобнее, чтобы это делал кто-нибудь за вас. К счастью, WordPress поможет это сделать за вас. Для этого добавтье строчку кода в файл wp-config.php движка:

define('EMPTY_TRASH_DAYS', 5 ); // Очищать корзину каждые 5 дней

6. Удаляем визуальный редактор

Для некоторых, особенно для веб-разработчиков очень важна HTML-разметка записей и, особенно, кода, находящегося в нем, а визуальный редактор вставляет в разметку очень много ненужного “мусора”.

Можно, конечно отключить визуальный редактор для каждого пользователя индивидуально в разделе Пользователи –> Профиль, но если у вас возникнет желание полностью его отключить для всех, то вставьте соответствующий фильтр в файл functions.php вашей темы:

add_filter('user_can_richedit' , create_function('' , 'return false;') , 50);

Уж не знаю, кому из вас он может пригодиться, но на всякий случай знайте и имейте ввиду, что сделать это можно именно таким способом.

7. Редактирование текста в выпадающей панели “Помощь”

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

Вставьте в файл functions.php следующий код:

add_action('load-page-new.php','custom_help_page');
add_action('load-page.php','custom_help_page');
function custom_help_page() {
  add_filter('contextual_help','custom_page_help');
}
function custom_page_help($help) {
  // echo $help; // Раскомментируйте эту строчку, если вы хотите добавить текст в панель "Помощь" по-умолчанию
  echo "<h5>Custom Help text</h5>";
  echo "<p> HTML goes here.</p>";
}

Принцип добавления панели происходит следующим образом. Например, если вы хотите добавить свой текст в панель “Помощь” на страницу создания новой записи, которое имеет имя файла post-new.php, то вы должны использовать префикс post-new в load-post-new.php так, как это показано в коде выше на примере панели “Помощь” при создании новой страницы.

8. Добавление новых полей в панель “Контактная информация”

В настройках пользователя есть форма с его контактной информацией, которая включает адрес электронной почты, веб-сайт и совершенно, думаю, ненужные поля с AIM, Yahoo AIM и Jabber / Google Talk. А где же наиболее актуальные Twitter и Facebook? Увы, по-умолчанию в WordPress таких полей нет, поэтому можно добавить новые поля и убрать ненужные

Для этого вставьте код в файл functions.php:

function new_contactmethods( $contactmethods ) {
  $contactmethods['twitter'] = 'Twitter'; // Добавляет Twitter
  $contactmethods['facebook'] = 'Facebook'; // Добавляет Facebook
  unset($contactmethods['yim']); // Удаляет Yahoo IM
  unset($contactmethods['aim']); // Удаляет AIM
  unset($contactmethods['jabber']); // Удаляет Jabber

return $contactmethods;
}

add_filter('user_contactmethods','new_contactmethods',10,1);

9. Изменение возможностей групп

Данный хак удобен, если у вас на на сайте или блоге имеется несколько групп пользователей (роли пользователей). Следующий код позволяет изменять или добавлять некоторые возможности группам.

$edit_contributor = get_role('contributor'); // Получение роли пользователем
$edit_contributor->add_cap('upload_files'); // Пользователь теперь может загружать медиафайлы
$edit_contributor->remove_cap('delete_posts'); // Пользователь теперь не может удалять записи

Возможностей много для разных групп, здесь я привел небольшой пример. Полный список функций и возможностей, которые вы можете добавлять или удалять можно найти здесь.

Важно: все возможности записываются в базу данных поэтому если вы хотите вернуть возможность роли пользователя, вы должны использовать функцию add_cap. Это функция, обратная удалению и, наоборот, используйте remove_cap, если вы хотите удалить возможность. Другими словами, если вы удалили какую-то возможность пользователю, то вернуть ее простым удаление строчки кода не получится.

10. Проверка возможностей пользователя

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

if( !is_admin() ) {
  add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
}

Использование условия is_admin() является одним из способов сделать это, но есть также функция current_user_can(), которая позволяет вам определить, какой возможностью пользователь должен обладать независимо от того, открыты они ему или нет.

if( current_user_can('edit_pages') ) {
  // Условие истинно, если пользователь может редактировать страницы
}

if( !current_user_can('delete_private_posts') ) {
  // Условие истинно, если пользователь не может удалять личные сообщения
}
if( current_user_can('activate_plugins') ) {
  // Условие истинно, если пользователь может активировать плагины
}

P.S. Когда не знаешь с чего начать изучение основ веб-дизайна, лучше всего для этого подойдет блог о веб-дизайне, на котором собраны интересные и полезные статьи.

VN:F [1.9.16_1159]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.16_1159]
Rating: 0 (from 0 votes)

Понравилась статья? Поделитесь ею в социальных сервисах!

Подпишитесь на обновление блога!

Ваш e-mail:

Понравилась статья? Вы не хотите пропускать новые статьи, посвященные Wordpress? Тогда подпишитесь на RSS или на электронный ящик и получайте новые статьи мгновенно! Также можете следить за мной в Twitter.

21 комментарий к “10 хаков для настройки административной панели WordPress”

  • Нет аватара
    Гулия 10.08.2011 в 08:53

    У меня сайт на WP, так что уже взяла кое-что на заметку. Спасибо.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Сергей 19.09.2011 в 15:54

    define(‘WP_POST_REVISIONS’, 5); // Максимум 5 записей
    define(‘WP_POST_REVISIONS’, false); // Отключить сохранение

    Этот код в версии 3.2.1 не работает. А историю и автосохранение очень надо убрать. Спасибо.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vadimon 20.09.2011 в 20:49

    Хаки, описываемые в данной статье, проверялись в версии 3.1.3, поэтому работоспособность того или иного хака на последней версии wordpress я не гарантирую.

    VN:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VN:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Жуйков Антон 08.12.2011 в 22:05

    function new_contactmethods( $contactmethods ) {
    $contactmethods['twitter'] = ‘Twitter’; // Добавляет Twitter
    $contactmethods['facebook'] = ‘Facebook’; // Добавляет Facebook
    unset($contactmethods['yim']); // Удаляет Yahoo IM
    unset($contactmethods['aim']); // Удаляет AIM
    unset($contactmethods['jabber']); // Удаляет Jabber

    return $contactmethods;
    }

    add_filter(‘user_contactmethods’,'new_contactmethods’,10,1);

    Как убрать в профиле поле “Сайт” ?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 09.12.2011 в 00:18

      Я знаю только один “жесткий” способ сделать это. Взять и вырезать код из самого WordPress. Для этого в файле wp-admin/user-edit.php найдите и удалите строчки:

      <tr>
      <th><label for="url"><?php _e('Website') ?></label></th>
      <td><input type="text" name="url" id="url" value="<?php echo esc_attr($profileuser->user_url) ?>" class="regular-text code" /></td>
      </tr>

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Жуйков Антон 09.12.2011 в 02:00

    Спасиб работает, вроде без ошибочно.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Лосев Олег 16.12.2011 в 04:22

    SoS…… Подскажите как сделать что бы посетители могли загружать фото в фото-выставку на сайте. Я установил Coppermine Photo Gallery но она не работает – может я не туда установил негде не написано куда на хосте её устанавливать. Если кто пользуется этой программой подскажите. Может есть какие плагины для wordpress для этого .

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Alexandr 17.12.2011 в 22:49

    Здравствуйте!
    Я новичок в системе WordPress. Я раньше работал с Joomla!
    Теперь мне дали сайт. Его надо переделать. Там стоял wp v. 3.1 (кажется). Я его перенес себе на домашний комп на Денвер. Работает. Обновил до версии 3.3 Кроме перевода ничего не изменилось.
    Админ-панель совсем не такая, как на фотках в Кодексе или на других сайтах. В админ-панели НЕТ меню с управлением ПЛАГИНами!
    Я уже около десятка сайтов облазил.
    ПОМОГИТЕ!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 17.12.2011 в 22:54

      Александр, я не понимаю в чем именно вам помощь нужна? Вы уверены, что нет панели управления плагинами? Обновите версию еще раз вручную.

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Alexandr 18.12.2011 в 21:11

    Уточню проблему.
    В административной панели WordPress есть: Консоль, Записи, Медиафайлы, Ссылки, Страницы, Комментарии, Профиль, Инструменты, Contact и кнопка “Свернуть меню”. Больше ничего там нет. Нету плагин-панели и панели управления меню, шаблонами и т.п. Как поставить плагин без плагин-панели?
    Я уверен, что правильно поставил Денвер и Вордпресс на Денвер.
    Я выложил фотку админ-панели по этому адресу: http://foto.mail.ru/mail/alexandrchirkov/work

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 18.12.2011 в 21:24

      Попробуйте переустановить wordpress. Откуда скачивали дистрибутив WordPress, с официального сайта? Судя по скрину у вас уже стоит плагин контактной формы, откуда он взялся??

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Саша 25.12.2011 в 00:14

    Здравствуйте, столкнулся с такой проблемой, когда я на сайте как админ пытаюсь войти в свой профиль, мне выдаёт “You are not authorized to view this page.” Профили же зарегистрированных посетителей я могу открывать и редактировать. Подскажите пожалуйста чем это лечится?

    P.S. Alexandr-с такой проблемой я однажды сталкивался, всё оказалось в шаблоне. как только я его сменил, вкладка внешний вид и плагины появились. Тему удали через FTP.

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 28.12.2011 в 20:45

      Лечится это переустановкой wordpress, а также установкой официального дистрибутива движка. Стоят ли на сайт плагины, типа Role Manager или ему подобные?

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
      • Нет аватара
        Саша 28.12.2011 в 23:52

        Никаких плагинов связанных с администрированием либо пользователями нет. Чувствую придётся вручную заменить все файлы WP.

        VA:F [1.9.16_1159]
        Rating: 0.0/5 (0 votes cast)
        VA:F [1.9.16_1159]
        Rating: 0 (from 0 votes)
  • Нет аватара
    podrapom 08.01.2012 в 16:02

    Ок, поля твиттер и фэйсбук добавили и?…
    выводить кликабельный юзернэйм?
    Выводить кликабельную аву?

    Вообще хоцца плагин типа ulogin ток с привязкой нескольких соц аккаунтов.. ну как ipb делает… подкинте, если знаете такой

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Vermutoff 11.01.2012 в 14:59

    8 хак весьма полезный ) Спасибо!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Игорь 15.05.2012 в 02:30

    Все добавил как написано в п.8. Добавление новых полей в панель «Контактная информация», но ни чего не работает. В чем причина?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
    • Нет аватара
      Vadimon 15.05.2012 в 10:53

      Какую версию WordPress вы используете?

      VN:F [1.9.16_1159]
      Rating: 0.0/5 (0 votes cast)
      VN:F [1.9.16_1159]
      Rating: 0 (from 0 votes)
  • Нет аватара
    Александр 09.08.2012 в 11:43

    Я знаю только один «жесткий» способ сделать это. Взять и вырезать код из самого WordPress. Для этого в файле wp-admin/user-edit.php найдите и удалите строчки:

    <input type="text" name="url" id="url" value="user_url) ?>” class=”regular-text code” />

    Я совсем хочу удалить все не нужные мне поля, нашел их в этом файле, удаляю, удаляю, но на сайте все без изменений. Может еще где нибудь нужно их удалить?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    Алекс 10.11.2012 в 21:41

    Красава! отличные хаки!

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)
  • Нет аватара
    uni 30.10.2013 в 19:31

    Волнует 1 вопрос, а можно ли изменить админку таким образом, чтобы вообще не было понятно, что это вордпресс?

    VA:F [1.9.16_1159]
    Rating: 0.0/5 (0 votes cast)
    VA:F [1.9.16_1159]
    Rating: 0 (from 0 votes)

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

Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.

Блог про wordpress и все, что с ним связано – возможности системы, секреты и хаки, плагины, шаблоны, оптимизация, seo, безопасность и т.п. Проект для начинающих и продвинутых пользователей.

Если хотите быстро и оперативно получать последние новости и статьи, то рекомендуем подписаться на обновления блога по E-mail:

E-mail:

Последние комментарии

Друзья проекта