Здравствуйте, сегодня попробуем начать редактировать админку wordpress: удалим лишние ссылки, виджеты, пункты меню.
PS: Статья в процессе написания…
Скачать исходники для статьи можно ниже
Для начала советую создать дочернюю wordpress тему, так как при обновлении wordpress все изменения придется делать заново, о том как ее создать – читайте на “codex.wordpress.org” (есть переведенная на русский язык статья).
1. Удалим ссылку в подвале админки wordpress:
Для этого в файл functions.php нужно вставить следующий код:
//Скрываем футер в админке function change_footer_admin () {return ' ';} add_filter('admin_footer_text', 'change_footer_admin', 9999); function change_footer_version() {return ' ';} add_filter( 'update_footer', 'change_footer_version', 9999);
Или же добавляем свою ссылку:
function remove_footer_admin () { echo 'Designed by <a href=" https://mnogoblog.ru " target="_blank">Mnogoblog </a> | WordPress Tutorials: <a href="https://mnogoblog.ru" target="_blank">MnogoBlog</a></p>'; } add_filter('admin_footer_text', 'remove_footer_admin');
Напоминаю, чтобы открыть файл functions.php – нужно зайти в панель управления wordpress, в левом меню выбираем пункт “Внешний вид” и его подпункт “Редактор”, справа в списке шаблонов выбираем файл functions.php.
2. Удаляем ненужные виджеты и создаем свои:
Сначала рассмотрим как удалять виджеты админки:
function remove_dashboard_meta() { remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_plugins', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_secondary', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_incoming_links', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_quick_press', 'dashboard', 'side' ); remove_meta_box( 'dashboard_recent_drafts', 'dashboard', 'side' ); remove_meta_box( 'dashboard_recent_comments', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); remove_meta_box( 'dashboard_activity', 'dashboard', 'normal');//since 3.8 } add_action( 'admin_init', 'remove_dashboard_meta' );
В итоге у нас получиться следующее (на главной страничке админки wordpress):
Замечу, что с помощью функции “remove_meta_box” можно удалить Блоки на страницах редактирования/создания постов, постоянных страниц, ссылок и произвольных типов записей (интересная статья – “ixmaster.net/kak-ubrat-meta-bloki-v-adminke-wordpress”), также есть очень полезный плагин – Adminimize – который поможет скрыть мета блоки для разных типов пользователей, сведения о плагине:
Последнее обновление: 2013-6-6
Загрузок: 470,296
Сайт плагина: “wordpress.org/plugins/adminimize/”
Установка плагина стандартная – через панель управления wordpress.
А теперь рассмотрим как добавить свои виджеты в админке:
Для примера давайте добавим RSS ленту своего сайт, чтобы следить за ней, для этого в файл functions.php добавим следующий код:
/* custom dashboard widget */ add_action('wp_dashboard_setup', 'replican_dashboard_widgets'); function replican_dashboard_widgets() { global $wp_meta_boxes; // remove unnecessary widgets // var_dump( $wp_meta_boxes['dashboard'] ); // use to get all the widget IDs unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins'], $wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary'], $wp_meta_boxes['dashboard']['side']['core']['dashboard_primary'] ); // add a custom dashboard widget wp_add_dashboard_widget( 'dashboard_custom_feed', 'Последние статьи на mnogoblog.ru', 'replican_dashboard_custom_feed_output', 'side' ); //add new RSS feed output } function replican_dashboard_custom_feed_output() { echo '<div class="rss-widget">'; wp_widget_rss_output(array( 'url' => 'http://feeds.feedburner.com/mnogoblog', //put your feed URL here 'title' => 'What\'s up from mnogoblog', 'items' => 4, //how many posts to show 'show_summary' => 1, 'show_author' => 0, 'show_date' => 1 )); echo "</div>"; }
Здесь,
http://feeds.feedburner.com/mnogoblog – Rss моего сайта, поменяйте на свою ленту
items => 4 – количество постов в ленте
После чего наша главная страница админки будет выглядеть так:
Давайте также добавим виджет с текстовой и графической информацией:
Для создания виджета нужно вставить в файл functions.php следующий код:
// Function that outputs the contents of the dashboard widget function dashboard_widget_function( $post, $callback_args ) { echo "Здравствуйте, добро пожаловать на сайт mnogoblog.ru!"; echo "<div> <img src='https://localhost/testmnogoblog/wp-content/uploads/2014/06/konstantin1.gif' width='200' height='200' class='alignnone size-full wp-image-74' /> </div> "; } // Function used in the action hook function add_dashboard_widgets() { wp_add_dashboard_widget('dashboard_widget', 'Мой первый виджет!', 'dashboard_widget_function'); } // Register the new dashboard widget with the 'wp_dashboard_setup' action add_action('wp_dashboard_setup', 'add_dashboard_widgets' );
Например вышеуказанный код выводит на главной страничке админки виждет с названием “Мой первый виджет!” с текстом и изображением:
Здесь стоит отметить, что вывод текста и изображения осуществляется с помощью тега “echo” и в его содержимом не должно быть кавычек – они меняются на ‘, то есть, например, нам нужно вывести изображения логично было бы это сделать так:
echo "<div> <img src="http://localhost/testmnogoblog/wp-content/uploads/2014/06/konstantin1.gif" width="200" height="200" class="alignnone size-full wp-image-74" /> </div> ";
Однако, вышеуказанный код вызовет ошибку – для ее исправления нужно заменить кавычки на знак ‘, то есть на:
echo "<div> <img src='https://localhost/testmnogoblog/wp-content/uploads/2014/06/konstantin1.gif' width='200' height='200' class='alignnone size-full wp-image-74' /> </div> ";
3. Удаляем ненужные пункты меню (например пользователи)
Здравствуйте! У меня, после автообновления wordpress, в “меню” появился лишний DIV, отсекающий форму поиска… Это видно в браузере, но в админке Всё ОК. Как это безобразие убрать????
Сайт в подписке…
С уважением, Сергей Анатольевич