Quando se trabalha com o WordPress para clientes, é muito importante saber estilizá-lo e adaptá-lo às necessidades desses mesmos clientes. Conforme o Diogo escreveu no seu último artigo sobre personalizando o Painel de Administração do WordPress para os seus clientes, é importante trabalhar a imagem do seu cliente, para que ela se enquadre corretamente nas necessidades dele. E uma das melhores formas de conseguir isso, é adaptando a dashboard do WordPress com alguns códigos e hacks, para acrescentar ou remover funcionalidades padrão, para então desenvolver outras que melhor se encaixam no tipo de cliente que você tem. Para desenvolvedores e freelancers que trabalham com clientes, este tipo de truques são fundamentais. Recentemente os colegas do catswhocode deram a conhecer alguns novos truques, que nós aproveitámos para desenvolver este tutorial.

wordpress

REMOVER ITEMS DA BARRA DE ADMIN

Se pretende prevenir que os seus clientes acessem determinados menus por meio da barra de admin do WordPress, como as seções de “Plugins” ou “Opções”, basta você copiar e colar o seguinte código no ficheiro functions.php do seu template, seleccionando os items que você deseja remover.

function wps_admin_bar() {
    global $wp_admin_bar;
    $wp_admin_bar->remove_menu('wp-logo');
    $wp_admin_bar->remove_menu('about');
    $wp_admin_bar->remove_menu('wporg');
    $wp_admin_bar->remove_menu('documentation');
    $wp_admin_bar->remove_menu('support-forums');
    $wp_admin_bar->remove_menu('feedback');
    $wp_admin_bar->remove_menu('view-site');
}
add_action( 'wp_before_admin_bar_render', 'wps_admin_bar' );

REMOVER A ABA DE OPÇÕES DE TELA

Não precisa da aba de “Opções de Tela” na dashboard do WordPress do seu cliente? Então copie e cole o seguinte código no ficheiro functions.php do seu template, grave e voilá!

function remove_screen_options(){
    return false;
}
add_filter('screen_options_show_screen', 'remove_screen_options');

MUDAR O TEXTO “DIGITE O TÍTULO AQUI”

Se por alguma razão você precisar de mudar o texto “Digite o título aqui” que se encontra no editor de artigos do WordPress, e colocar no seu lugar um outro texto qualquer, você apenas precisa copiar e colar o seguinte código no ficheiro functions.php do seu template, alterando o texto na linha 2 do código.

function title_text_input( $title ){
     return $title = 'Novo título customizado';
}
add_filter( 'enter_title_here', 'title_text_input' );

MUDAR O TEXTO DE RODAPÉ DA DASHBOARD

Se desejar alterar o texto que aparece no rodapé da dashboard do WordPress, isso também é fácil. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template, e altere o texto padrão que aparece na linha 2 do código.

function remove_footer_admin () {
    echo "O seu texto de rodapé";
} 

add_filter('admin_footer_text', 'remove_footer_admin');

DESATIVAR OS UPDATES DE ATUALIZAÇÃO DO WORDPRESS

A segurança é sem sombra de dúvidas um aspecto importante de um site/blog em WordPress, e você deverá atualizar sempre que possível o seu WordPress e o dos seus clientes. Mas a trabalhar com clientes, por vezes você certamente gostaria de poder desativar os avisos de “Por favor, atualize agora!” que aparecem sempre que sai uma nova versão do WordPress. Para o fazer, copie e cole o seguinte código para dentro do ficheiro functions.php do seu template.

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;" ) );
}

CAIXA DE LOGIN COM BACKGROUND FULL SCREEN

caixa login

Este é daqueles super truques que os seus clientes vão adorar: uma caixa de login com uma imagem de fundo em fullscreen. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template. Não esqueça de estilizar o CSS da caixa com uma stylesheet externa.

function login_enqueue_scripts(){
	echo '
		<div class="background-cover"></div>
		<style type="text/css" media="screen">
			.background-cover{
				background:url('.get_bloginfo('template_directory').'/images/background) no-repeat center center fixed; 
				-webkit-background-size: cover; 
				-moz-background-size: cover; 
				-o-background-size: cover; 
				background-size: cover; 
				position:fixed; 
				top:0; 
				left:0; 
				z-index:10; 
				overflow: hidden; 
				width: 100%; 
				height:100%;
			} 
			#login{ z-index:9999; position:relative; }
			.login form { box-shadow: 0px 0px 0px 0px !important; }
			.login h1 a { background:url('.get_bloginfo('template_directory').'/images/logo.png) no-repeat center top !important; } 
			input.button-primary, button.button-primary, a.button-primary{ 
				border-radius: 3px !important; 						background:url('.get_bloginfo('template_directory').'/images/button.jpg); 
					border:none !important;
					font-weight:normal !important;
					text-shadow:none !important;
				}
				.button:active, .submit input:active, .button-secondary:active {
					background:#96C800 !important; 
					text-shadow: none !important;
				}
				.login #nav a, .login #backtoblog a {
					color:#fff !important;
					text-shadow: none !important;
				}
				.login #nav a:hover, .login #backtoblog a:hover{
					color:#96C800 !important;
					text-shadow: none !important;
				}
				.login #nav, .login #backtoblog{
					text-shadow: none !important;
				}
			</style>
		';
	}
add_action( 'login_enqueue_scripts', 'login_enqueue_scripts' );

DESATIVAR A MUDANÇA DE TEMPLATE

A melhor forma de prevenir que os seus clientes não mudam de template, é desativando a opção de mudança de template no WordPress. Copie e cole o seguinte código no ficheiro functions.php do seu template.

add_action('admin_init', 'slt_lock_theme');
function slt_lock_theme() {
	global $submenu, $userdata;
	get_currentuserinfo();
	if ($userdata->ID != 1) {
		unset($submenu['themes.php'][5]);
		unset($submenu['themes.php'][15]);
	}
}

MUDAR AS CORES DA DASHBOARD

Se gostaria de alterar as cores da dashboard do WordPress sem ter de editar os ficheiros nativos do WordPress, você vai curtir este truque. O código seguinte tem uma alteração de cor de cinza para azul, mas você pode modificá-lo entre as tags <style> e </style> com as cores que bem desejar.

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

add_action('admin_head', 'custom_colors');

CRIAR MENSAGENS DE AJUDA PERSONALIZADAS

Se você está construindo um site/blog em WordPress para um cliente, e ele tem dificuldades para entender como funciona a dashboard, uma boa ideia é oferecer para ele ajuda personalizada por meio de mensagens ou avisos. Copie e cole o seguinte código no ficheiro functions.php no seu template, para criar mensagens de aviso para os seus clientes.

function my_admin_help($text, $screen) {
	// Check we're only on my Settings page
	if (strcmp($screen, MY_PAGEHOOK) == 0 ) {

		$text = 'Seu texto de ajuda deve ser escrito aqui!';
		return $text;
	}
	// Let the default WP Dashboard help stuff through on other Admin pages
	return $text;
}

add_action( 'contextual_help', 'my_admin_help' );

Até Já!