1. Удаление меню

wp-hack

Когда создают WordPress сайт для клиента, в некоторых случаях будет хорошей идеей убрать доступ к некоторым меню сайта, чтобы избежать каких-то возможных проблем в будущем, таких как «случайное» удаление тем покупателем или каких-либо других казусов . В любом случае лучше заранее уберечь себя и Вашего покупателя от этих обид.
Вставьте следующий код в файл  functions.php . Этот код будет удалять все названные меню перечисленные в функции  $restricted.  Например :

function remove_menus () {
global $menu;
$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
end ($menu);
while (prev($menu)){
$value = explode(' ',$menu[key($menu)][0]);
if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
}
}
add_action('admin_menu', 'remove_menus');

2. Определяем Ваше собственное лого при входе в админ-панель

windowslivewritercustomwordpressloginscreen-e72flogin1-ebfb153a-adf9-42c0-925c-6f75d4942be1

Хотя в этом нет ничего особенного и на работу сайта никак не повлияет , НО большинство клиентов будут рады видеть свою собственную эмблему на странице входа в администраторскую панели, вместо эмблемы Wordpress
Вставьте код ниже в Ваш файл  functions.php .

function my_custom_login_logo() {
echo '<style type="text/css">
h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
</style>';
}
add_action('login_head', 'my_custom_login_logo');

Смотрите так же : Изменяем дизайн входа в админку

3. Замена логотипа в самой админке

wordpress-hacks

Выше было написано как изменить логотип при входе в админку (там где вы вводите логи и пароль), а теперь изменяем эмблему непосредственно в самой администраторской панели сайта. Снова изменяем файл functions.php и добавляем туда код ниже.

add_action('admin_head', 'my_custom_logo');
function my_custom_logo() {
echo '<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }</style>';
}

4. Отключение сообщения «Пожалуйста обновитесь»

WordPress постоянно выпускают новые версии, хотя для очевидных проблем безопасности Вы должны всегда модернизировать Wordpress. Клиенту не нужно видеть эту надпись, потому что он пользователь , а не разработчик. А некоторые темы затачиваются под определенную версию Вордпресса. Снова добавляем код в  functions.php.

if ( !current_user_can( 'edit_users' ) ) {
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}

5. Удаление Виджетов из админки

Представленные в WordPress 2.7 виджеты могут быть весьма полезными. Например, некоторые могут отображать Вашу статистику Google Analytics stats. Хотя, иногда Вам это и не нужно или сами виджеты не нужны. Код ниже(вставить егонужно опять же в файл  functions.php)  позволит удалит  виджеты в админке .

function example_remove_dashboard_widgets()
// Globalize the metaboxes array, this holds all the widgets for wp-admin
global $wp_meta_boxes;

// Remove the incomming links widget
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);

// Remove right now
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
// Hoook into the 'wp_dashboard_setup' action to register our function
add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );

6. Добавление виджетов в админку

Этот пункт прямо противоположен предыдущему по назначению . Редактируем  functions.php, как обычно ))

function example_dashboard_widget_function() {
// Display whatever it is you want to show
echo "Hello World, I'm a great Dashboard Widget";
}
// Create the function use in the action hook
function example_add_dashboard_widgets() {
wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');
}
// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );

7. Изменяем цвета админки !

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

function custom_colors() {
echo '<style type="text/css">#wphead{background:#069}</style>';
}
add_action('admin_head', 'custom_colors');

8.Поддержка темы

Иногда у клиентов возникают какие-то проблемы и за помощью они часто бегут к разработчикам, хотя проблема может быть очень простой, и идея оставить закладку с тех-поддержкой весьма стоящая.
Код ниже поможет Вам создать сообщения поддержки для Администратора сайта. Вставляем его в файл functions.php.

function my_admin_help($text, $screen) {
// Check we're only on my Settings page
if (strcmp($screen, MY_PAGEHOOK) == 0 ) {
$text = 'Here is some very useful information to help you use this plugin...';
return $text;
}
// Let the default WP Dashboard help stuff through on other Admin pages
return $text;
}
add_action( 'contextual_help', 'my_admin_help' );

9. Отображаем сервер в админке

Отображение информации о сервере Вордпресс . Как обычно редактируем файл  functions.php , вставляем код ниже и все сделано.

function slt_PHPErrorsWidget() {
$logfile = '/home/path/logs/php-errors.log'; // Enter the server path to your logs file here
$displayErrorsLimit = 100; // The maximum number of errors to display in the widget
$errorLengthLimit = 300; // The maximum number of characters to display for each error
$fileCleared = false;
$userCanClearLog = current_user_can( 'manage_options' );
// Clear file?
if ( $userCanClearLog && isset( $_GET["slt-php-errors"] ) && $_GET["slt-php-errors"]=="clear" ) {
$handle = fopen( $logfile, "w" );
fclose( $handle );
$fileCleared = true;
}
// Read file
if ( file_exists( $logfile ) ) {
$errors = file( $logfile );
$errors = array_reverse( $errors );
if ( $fileCleared ) echo '<p><em>File cleared.</em></p>';
if ( $errors ) {
echo '<p>'.count( $errors ).' error';
if ( $errors != 1 ) echo 's';
echo '.';
if ( $userCanClearLog ) echo ' [ <b><a href="'.get_bloginfo("url").'/wp-admin/?slt-php-errors=clear" onclick="return confirm(\'Are you sure?\');">CLEAR LOG FILE</a></b> ]';
echo '</p>';
echo '<div id="slt-php-errors" style="height:250px;overflow:scroll;padding:2px;background-color:#faf9f7;border:1px solid #ccc;">';
echo '<ol style="padding:0;margin:0;">';
$i = 0;
foreach ( $errors as $error ) {
echo '<li style="padding:2px 4px 6px;border-bottom:1px solid #ececec;">';
$errorOutput = preg_replace( '/\[([^\]]+)\]/', '<b>[$1]</b>', $error, 1 );
if ( strlen( $errorOutput ) > $errorLengthLimit ) {
echo substr( $errorOutput, 0, $errorLengthLimit ).' [...]';
} else {
echo $errorOutput;
}
echo '</li>';
$i++;
if ( $i > $displayErrorsLimit ) {
echo '<li style="padding:2px;border-bottom:2px solid #ccc;"><em>More than '.$displayErrorsLimit.' errors in log...</em></li>';
break;
}
}
echo '</ol></div>';
} else {
echo '<p>No errors currently logged.</p>';
}
} else {
echo '<p><em>There was a problem reading the error log file.</em></p>';
}
}
// Add widgets
function slt_dashboardWidgets() {
wp_add_dashboard_widget( 'slt-php-errors', 'PHP errors', 'slt_PHPErrorsWidget' );
}
add_action( 'wp_dashboard_setup', 'slt_dashboardWidgets' );

10. Отображаем виджеты по ролям

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

function customize_meta_boxes() {
//retrieve current user info
global $current_user;
get_currentuserinfo();

//if current user level is less than 3, remove the postcustom meta box
if ($current_user->user_level < 3)
remove_meta_box('postcustom','post','normal');
}
add_action('admin_init','customize_meta_boxes');

Вот и все друзья . Надеюсь мои старания по переводу статьи не будут напрасными и помогут Вам.

Источник статьи : www.catswhocode.com