WordPress não mostra a “Admin Bar”

Hoje depois de atualizar uma das minhas instalações de WordPress para a versão 3.1 a nova barra de admin que aparece quando estamos no site não aparecia, como é um theme feito por mim resolvi investigar o porquê.

A causa para a barra não aparecer é que não estava a implementar corretamente a class do body, para resolver este problema bastou no ficheiro em que abro a tag body, bastou adicionar a seguir à abertura da tag <body> adicionar a função do wordpress que faz echo da class adequada para ser possível a apresentação da dita barra de admin. O código a adicionar é o seguinte <?php body_class($class)?>, pelo que a declaração do body ficará <body <?php body_class($class); ?>>. E basta isto para tornar qualquer theme compatível com a nova barra de admin omnipresente.

Reset WordPress admin Password

Ia hoje fazer alguns testes numa instalação do wordpress que tenho no meu computador, após várias tentativas não me lembrava da password de admin que configurei para esta instalação. Ainda fui á base de dados mas lá tem apenas um md5 da password.

Lá fiz um ficheiro php que faz “echo md5(password)” e colei o valor na base de dados e ficou ok.

Para me facilitar o trabalho em futuros e previsíveis esquecimentos criei um pequeno script em php que faz todo o processo de reset da password de admin, bastando para isso editar o valor da password em plain text que está no topo do ficheiro.

Em baixo disponibilizo a source em php do ficheiro, para usar basta colar este texto num ficheiro .php na pasta da raiz da instalação do wordpress e visitar o mesmo no browser.

<?php
/*Nome do utilizador do qual queremos alterar a password*/
$nome_utilizador = "admin";
/*Nova password para o utilizador configurado em cima!*/
$nova_password = "teste";
/*
ATENÇÃO: se deixar este ficheiro no servidor sempre que alguém aceder ao mesmo a password
será alterada para esta.
Não é necessário alterar nada daqui para baixo, este script lê as configurações de acesso à
base de dados através do ficheiro de configuração do wordpress
*/
require( dirname(__FILE__) . '/wp-config.php' );
$ligacao = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
if (!
$ligacao) {
die(
'Não foi possível Ligar: <br />' . mysql_error());
}
echo
'Ligação á base de dados bem sucedida!!<br />';
$base_dados = mysql_select_db(DB_NAME, $ligacao);
$nova_password = md5($nova_password);
if (
mysql_query ("update ".$table_prefix."users set user_pass = '".$nova_password."' where user_login = '".$nome_utilizador."'"))
{
echo
"Password alterada com sucesso!!!<br />";
}
else
{
echo
"Ocorreu um erro ao alterar a password!!<br />".mysql_error();
}
echo
"Deve agora apagar este ficheiro do servidor!!<br /><a href=\"http://antoniocampos.net\">Antonio Campos</a>";
mysql_close($ligacao);
?>