O WordPress tem atualmente mais de 70 milhões de blogueiros usando-o, sendo uma das plataformas mais populares do mundo. Por isso mesmo, o WordPress dispensa apresentações. Com a chegada da versão 3.3.1 é altura de implementar alguns novos hacks, especialmente no painel administrativo do WordPress que sofreu bastantes alterações. O Codex do WordPress continua sendo um dos melhores locais onde aprender a mexer com essas funcionalidades, embora a sua abordagem seja focado no usuário simples e não no desenvolver que pretende explorar ao máximo as competências do sistema. Por isso mesmo, trazemos uma nova listagem de 20 novos hacks para usar no painel de administração do WordPress que encontrámos lá no instantshift e trouxemos para os nossos leitores. Com esses hacks é possível alterar a dinâmica do painel de administração muito facilmente e introduzir novas funcionalidades que até então você não tinha disponíveis.

1. DESATIVAR ARRASTAMENTO DE JANELAS

arrastar janelas

Se você pretender desativar a funcionalidade de arrastamento de janelas no seu painel de administração do WordPress, você terá de desativar a funcionalidade de JavaScript que o faz. Vá no seu ficheiro functions.php do seu template e adicione o seguinte código:

function disable_drag_metabox() {
    wp_deregister_script('postbox');
}
add_action( 'admin_init', 'disable_drag_metabox' );

2. MOSTRAR UMA MENSAGEM URGENTE NO PAINEL

mensagem urgente

Quando você trabalha em blogs colaborativos ou blogs com vários administradores, você provavelmente gostaria de avisar os seus usuários ou os seus colaboradores de alterações importantes que está realizando. Para o conseguir fazer, copie e cole o seguinte código para dentro do ficheiro functions.php do seu template. Não esqueça de mudar a mensagem de erro na linha 14 do código.

function showMessage($message, $errormsg = false)
{
	if ($errormsg) {
		echo '<div id="message" class="error">';
	}
	else {
		echo '<div id="message" class="updated fade">';
	}
	echo "<p><strong>$message</strong></p></div>";
} 

function showAdminMessages()
{
    showMessage("Mensagem de erro da EscolaWP.com.", true);
}
add_action('admin_notices', 'showAdminMessages');

3. MOSTRAR BARRA DE ADMIN APENAS PARA ADMINISTRADORES

barra admin

Adicione o seguinte código ao seu ficheiro functions.php por forma a mostrar a barra de administração apenas a quem é administrador do site:

if (!current_user_can('manage_options')) {
	add_filter('show_admin_bar', '__return_false');
}

4. COMO REMOVER ITEMS DA BARRA DE ADMIN

remover items

Este hack dá-lhe a flexibilidade de remover items do menu da sua barra de admin do WordPress. Copie e cole o seguinte código para dentro do ficheiro functions.php do seu template.

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' );

5. ESCONDER O SEPARADOR AJUDA NO PAINEL DE ADMIN

separador ajuda

Se você não usa o separador “Ajuda” que se encontra no canto superior direito do seu painel administrativo do WordPress, saiba que poderá removê-lo. Vá no seu ficheiro functions.php e adicione o seguinte código:

function hide_help() {
    echo '<style type="text/css">
            #contextual-help-link-wrap { display: none !important; }
          </style>';
}
add_action('admin_head', 'hide_help');

6. COMO ADICIONAR NOVOS ITEMS À BARRA DE ADMIN

novos items

Adicione o seguinte código ao seu ficheiro functions.php e poderá adicionar novos items facilmente:

function wp_admin_bar_new_item() {
global $wp_admin_bar;
$wp_admin_bar->add_menu(array(
'id' => 'wp-admin-bar-new-item',
'title' => __('EscolaWP'),
'href' => 'http://www.escolawp.com/'
));
}
add_action('wp_before_admin_bar_render', 'wp_admin_bar_new_item');

7. REMOVER ITEMS DA DASHBOARD

remover items dashboard

O painel de administração do WordPress tem diversas opções no menu lateral esquerdo, mas caso você pretenda remover algumas delas, também é possível. Este hack dá-lhe flexibilidade na hora de remover items do painel. Simplesmente copie e cole o seguinte código no ficheiro functions.php do seu template:

add_action( 'admin_menu', 'remove_links_menu' );
function remove_links_menu() {
     remove_menu_page('index.php'); // Dashboard
     remove_menu_page('edit.php'); // Posts
     remove_menu_page('upload.php'); // Media
     remove_menu_page('link-manager.php'); // Links
     remove_menu_page('edit.php?post_type=page'); // Pages
     remove_menu_page('edit-comments.php'); // Comments
     remove_menu_page('themes.php'); // Appearance
     remove_menu_page('plugins.php'); // Plugins
     remove_menu_page('users.php'); // Users
     remove_menu_page('tools.php'); // Tools
     remove_menu_page('options-general.php'); // Settings
}

8. REMOVER EDITOR DO MENU DE NAVEGAÇÃO

remover editor

Se pretende remover um item do menu de navegação não é tão simples quanto parece. No entanto, com este hack, você pode remover os items que desejar do seu menu, sem problemas. Coloque-o no seu ficheiro functions.php.

function remove_editor_menu() {
  remove_action('admin_menu', '_add_themes_utility_last', 101);
}

add_action('_admin_menu', 'remove_editor_menu', 1);

9. REMOVER VERSÃO DO WORDPRESS DO RODAPÉ

remover versão

Adicione o seguinte código ao seu ficheiro functions.php para remover a versão do WordPress do seu rodapé.

function change_footer_version() {
  return 'Version 1.0.0';
}
add_filter( 'update_footer', 'change_footer_version', 9999 );

10. MUDAR O TEXTO DO RODAPÉ DO PAINEL DE ADMIN

mudar texto rodape

Adicione o seguinte código ao seu ficheiro functions.php e coloque nele o texto que bem desejar. Não esqueça de alterar o que texto pré-definido.

function remove_footer_admin () {
  echo 'Visite a Escola WordPress.';
}
add_filter('admin_footer_text', 'remove_footer_admin');

11. MOSTRAR A DASHBOARD NUMA SÓ COLUNA

dashboard colunas

Adicione o seguinte código ao ficheiro functions.php do seu WordPress por forma a forçar a sua dashboard a funcionar em apena uma coluna:

function single_screen_columns( $columns ) {
    $columns['dashboard'] = 1;
    return $columns;
}
add_filter( 'screen_layout_columns', 'single_screen_columns' );
function single_screen_dashboard(){return 1;}
add_filter( 'get_user_option_screen_layout_dashboard', 'single_screen_dashboard' );

12. DESLIGAR A NOTIFICAÇÃO DE UPDATE DE BROWSER

update browser

Provavelmente já ouviu falar da notificação/atualização de browser que acontece no novo painel de administração do WordPress 3.3.1. Se desejar desligar essa notificação, basta copiar e colar o seguinte código no ficheiro functions.php do seu tema:

function disable_browser_upgrade_warning() {
    remove_meta_box( 'dashboard_browser_nag', 'dashboard', 'normal' );
}
add_action( 'wp_dashboard_setup', 'disable_browser_upgrade_warning' );

13. ADICIONAR BALÕES PERSONALIZADOS DE AJUDA

balões personalizados

Provavelmente já reparou que o novo WordPress inclui diversos balões de notificação. Estes balões são extremamente úteis se você quiser dar direcções aos seus clientes ou usuários, por exemplo, para que eles compreendam como usar o WordPress.

Adicione o seguinte código ao ficheiro functions.php para adicionar um novo balão ao seu painel de administração.

Não esqueça de escrever o texto desejar nas linhas 8 e 9 do código.

Não esqueça de atualizar o ID do jquery para colocar o balão no local desejado #menu-appearance na linha 14. Por exemplo, se você quiser o balão sobre o campo Media na barra lateral esquerda, use o ID #menu-media em vez do ID #menu-appearance.

add_action( 'admin_enqueue_scripts', 'my_admin_enqueue_scripts' );
function my_admin_enqueue_scripts() {
    wp_enqueue_style( 'wp-pointer' );
    wp_enqueue_script( 'wp-pointer' );
    add_action( 'admin_print_footer_scripts', 'my_admin_print_footer_scripts' );
}
function my_admin_print_footer_scripts() {
    $pointer_content = '<h3>Balão de Notificação</h3>';
    $pointer_content .= '<p>Edite este texto para dar uma descrição ao seu balão de notificações.</p>';
?>
   <script type="text/javascript">
   //<![CDATA[
   jQuery(document).ready( function($) {
    $('#menu-appearance').pointer({
        content: '<?php echo $pointer_content; ?>',
        position: 'top',
        close: function() {
            // Once the close button is hit
        }
      }).pointer('open');
   });
   //]]>
   </script>
<?php
}

14. MOSTRAR NÚMERO DE ANEXOS JUNTO AO POST

anexos

Adicione o seguinte código ao seu ficheiro functions.php do seu tema WordPress para mostrar uma coluna com o número de anexos de cada artigo.

add_filter('manage_posts_columns', 'posts_columns_attachment_count', 5);
add_action('manage_posts_custom_column', 'posts_custom_columns_attachment_count', 5, 2);
function posts_columns_attachment_count($defaults){
    $defaults['wps_post_attachments'] = __('Att');
    return $defaults;
}
function posts_custom_columns_attachment_count($column_name, $id){
	if($column_name === 'wps_post_attachments'){
	$attachments = get_children(array('post_parent'=>$id));
	$count = count($attachments);
	if($count !=0){echo $count;}
    }
}

15. MOSTRAR THUMBNAIL JUNTO AO POST

thumbnail

Adicione o seguinte código ao seu ficheiro functions.php do seu tema WordPress para mostrar uma coluna com o thumbnail de cada artigo. Tenha em consideração que este hack apenas funciona com temas que aceitam “imagem em destaque”.

// Add the posts and pages columns filter. They can both use the same function.
add_filter('manage_posts_columns', 'tcb_add_post_thumbnail_column', 5);
add_filter('manage_pages_columns', 'tcb_add_post_thumbnail_column', 5);

// Add the column
function tcb_add_post_thumbnail_column($cols){
  $cols['tcb_post_thumb'] = __('Featured');
  return $cols;
}

// Hook into the posts an pages column managing. Sharing function callback again.
add_action('manage_posts_custom_column', 'tcb_display_post_thumbnail_column', 5, 2);
add_action('manage_pages_custom_column', 'tcb_display_post_thumbnail_column', 5, 2);

// Grab featured-thumbnail size post thumbnail and display it.
function tcb_display_post_thumbnail_column($col, $id){
  switch($col){
    case 'tcb_post_thumb':
      if( function_exists('the_post_thumbnail') )
        echo the_post_thumbnail( 'admin-list-thumb' );
      else
        echo 'Not supported in theme';
      break;
  }
}

16. ESCONDER PAINÉIS DE DADOS NO EDITOR DE POSTS

paineis

Se você usa o WordPress para trabalhar com seus clientes, provavelmente irá necessitar, por vezes, de mostrar um interface simples de usar. Com este hack, você pode esconder os painéis de dados do editor de posts, como as caixas de categorias, tags, etc. Adicione o seguinte código ao ficheiro functions.php do seu template.

add_action( 'admin_menu', 'remove_meta_boxes' );
function remove_meta_boxes() {
	remove_meta_box( 'submitdiv', 'post', 'normal' ); // Publish meta box
	remove_meta_box( 'commentsdiv', 'post', 'normal' ); // Comments meta box
	remove_meta_box( 'revisionsdiv', 'post', 'normal' ); // Revisions meta box
	remove_meta_box( 'authordiv', 'post', 'normal' ); // Author meta box
	remove_meta_box( 'slugdiv', 'post', 'normal' );	// Slug meta box
	remove_meta_box( 'tagsdiv-post_tag', 'post', 'side' ); // Post tags meta box
	remove_meta_box( 'categorydiv', 'post', 'side' ); // Category meta box
	remove_meta_box( 'postexcerpt', 'post', 'normal' ); // Excerpt meta box
	remove_meta_box( 'formatdiv', 'post', 'normal' ); // Post format meta box
	remove_meta_box( 'trackbacksdiv', 'post', 'normal' ); // Trackbacks meta box
	remove_meta_box( 'postcustom', 'post', 'normal' ); // Custom fields meta box
	remove_meta_box( 'commentstatusdiv', 'post', 'normal' ); // Comment status meta box
	remove_meta_box( 'postimagediv', 'post', 'side' ); // Featured image meta box
	remove_meta_box( 'pageparentdiv', 'page', 'side' ); // Page attributes meta box
}

18. ESCONDER OPÇÃO DE COR NOS PERFIS

opção cores

Adicione o seguinte código ao ficheiro functions.php do seu template para esconder a opção de cor azul e cinza nos perfis de usuário.

function admin_color_scheme() {
   global $_wp_admin_css_colors;
   $_wp_admin_css_colors = 0;
}
add_action('admin_head', 'admin_color_scheme');

CURTIU? DEIXE O SEU COMENTÁRIO!

Gostou destes hacks para usar no painel de administração do WordPress? Que outros hacks você usa em seus blogs? Deixe o seu comentário!

Até Já!