O WordPress é uma excelente plataforma, mas está longe de ser perfeito. E é precisamente por isso que todos nós procuramos constantemente por truques, dicas e tutoriais para wordpress. Tanto os shortcodes, quanto os hacks e hooks são excelentes formas de simplificar algumas das tarefas que o WordPress tem capacidade de fazer, mas que infelizmente ainda são demasiado complexas ou necessárias de usar através de plugins. Mas conforme já relatámos anteriormente, instalar demasiados plugins pode ser prejudicial ao seu blog, pelo que o ideal é usar hooks e hacks para tornar determinadas funcionalidades em código PHP simples que não torne o seu WordPress lento, mas crie as funcionalidades que você deseja.

Wordpress snippets

ABRIR LINKS EM NOVA JANELA POR PADRÃO

Desta forma, todos os links em seu blog irão abrir numa nova janela, algo que não acontece por padrão com o seu atual WordPress. Antes de tudo o resto, procure pelo ficheiro quicktags.js na pasta wp-admin do seu WordPress.

Encontre o seguinte trecho de código:

if (!edCheckOpenTags(i)) {
var URL = prompt('Enter the URL' ,defaultValue);
if (URL) {
edButtons[i].tagStart = '<a href="' + URL + '">';
edInsertTag(myField, i);
}
}

Troque esse código por este novo código:

if (!edCheckOpenTags(i)) {
var URL = prompt('Enter the URL' ,defaultValue);
if (URL) {
edButtons[i].tagStart = '<a href="' + URL + '"';
if (URL!='http://')
{
var defaultTarget = prompt('Enter the Target' ,'_blank');
if (defaultTarget) edButtons[i].tagStart += ' target="' + defaultTarget + '"';
} edButtons[i].tagStart +='>';
edInsertTag(myField, i);
}
}

PREVENIR BOTS DE INDEXAREM SEUS CONTEÚDOS

Não quer que os bots dos motores de busca acessem seu blog de testes e comecem indexando seus conteúdos sem a sua autorização? Copie e cole o seguinte snippet na seção <head> do seu ficheiro header.php:

<?php if(is_search()) { ?>
   <meta name="robots" content="noindex, nofollow" />
<?php }?>

ADICIONAR UM BOTÃO “EDITAR ARTIGO” EM SEUS POSTS

Gostava de colocar um botão “Editar Artigo” nos seus posts do WordPress, que estivesse apenas visível para si (administrador)? A única coisa que precisa fazer é colocar o seguinte snippet de código onde se encontra a função the_content(), provavelmente no seu ficheiro single.php ou page.php. O link apenas estará disponível se você for o administrador do blog.

<?php edit_post_link(__('Editar Artigo')); ?>

ADICIONAR UM LINK PARA O PAINEL DE ADMIN E OUTRO PARA EDITAR

Se quiser adicionar um link para o seu painel administrativo e outro para editar a página onde se encontra, ambos apenas visíveis a administradores do seu blog, copie e cole o seguinte código para o loop do seu WordPress:

// Begin WordPress loop
<?php
get_header();
if (have_posts()) : while (have_posts()) : the_post();
?>

// Admin only code
<?php if (current_user_can("manage_options")) : ?>
<a href="<?php echo bloginfo("siteurl") ?>/wp-admin/">Admin</a>
<?php  edit_post_link(‘Editar’, ”, ”);  ?>
<?php endif; ?>

// code here, get contents
...
...

// End WordPress loop
<?php endwhile; else: ?>
Sorry, no pages matched your criteria.
<?php endif; get_footer(); ?>

CRIE UMA PÁGINA DE ERROS DO SEU BANCO DE DADOS

Se desejar criar uma página customizada para mostrar os erros do seu banco de dados do WordPress, crie e adicione o seguinte snippet de código a um novo ficheiro que deverá criar chamado “db-error.php” e coloque-o na pasta /wp-content/ do seu WordPress. Ele irá automaticamente usar esse ficheiro quando tiver problemas com o banco de dados e reportá-los nesse ficheiro.

<?php // custom WordPress database error page

  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 600'); // 1 hour = 3600 seconds

  // If you wish to email yourself upon an error
  // mail("your@email.com", "Database Error", "There is a problem with the database!", "From: Db Error Watching");

?>

<!DOCTYPE HTML>
<html>
<head>
<title>Database Error</title>
<style>
body { padding: 20px; background: red; color: white; font-size: 60px; }
</style>
</head>
<body>
  You got problems.
</body>
</html>

COMO EMBEBER UMA PÁGINA DENTRO DE OUTRA PÁGINA

Este código deve ser usado no loop regular de uma página do seu WordPress, portanto, em seu ficheiro page.php. A única coisa que necessita fazer é substituir o **ID** pelo ID da página que pretende embeber.

<?php $recent = new WP_Query("page_id=**ID**"); while($recent->have_posts()) : $recent->the_post();?>
       <h3><?php the_title(); ?></h3>
       <?php the_content(); ?>
<?php endwhile; ?>

ADICIONAR UMA BIO DO AUTOR NO FINAL DOS ARTIGOS

Este snippet de código irá mostrar o nome e descrição de perfil do usuário a partir dos dados inseridos no perfil do painel administrativo do WordPress.

<div class="author-box">
   <div class="author-pic"><?php echo get_avatar( get_the_author_email(), '80' ); ?></div>
   <div class="author-name"><?php the_author_meta( "display_name" ); ?></div>
   <div class="author-bio"><?php the_author_meta( "user_description" ); ?></div>
</div>

USAR UM BOTÃO “CURTIR” DO FACEBOOK NOS ARTIGOS

Se gostava de ter um botão “curtir” do Facebook em todos os artigos, copie e cole o seguinte código para dentro do ficheiro single.php do seu blog, na seção onde pretende que o botão apareça.

<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo rawurlencode(get_permalink()); ?>&amp;layout=standard&amp;show-faces=true&amp;width=450&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" id="facebook-like"></iframe>

MOVER A BARRA DE ADMIN DO WORDPRESS PARA O RODAPÉ

A nova barra de administrador do WordPress, introduzida na versão 3.2, está fixa no topo do seu blog, correto? E que tal mover essa barra para o rodapé? Adicione as seguintes linhas de CSS ao seu ficheiro de CSS, e o código completo ao ficheiro functions.php do seu template.

function fb_move_admin_bar() {
    echo '
    <style type="text/css">
    body {
    margin-top: -28px;
    padding-bottom: 28px;
    }
    body.admin-bar #wphead {
       padding-top: 0;
    }
    body.admin-bar #footer {
       padding-bottom: 28px;
    }
    #wpadminbar {
        top: auto !important;
        bottom: 0;
    }
    #wpadminbar .quicklinks .menupop ul {
        bottom: 28px;
    }
    </style>';
}
// on backend area
add_action( 'admin_head', 'fb_move_admin_bar' );
// on frontend area
add_action( 'wp_head', 'fb_move_admin_bar' );

FAZER RESET NA PASSWORD DE ADMIN PELO BANCO DE DADOS

Se precisar de fazer um reset à sua password de administrador pelo seu banco de dados, terá de correr uma query de SQL em seu banco de dados, através do phpMyAdmin por exemplo. Essa query é a seguinte:

UPDATE `wp_users` SET `user_pass` = MD5( 'new_password_here' ) WHERE `wp_users`.`user_login` = "admin_username";

Não esqueça de trocar o “new_password_here” pela nova password que deseja.

Até Já!