WordPress alterar estado posts

Para solucionar o problema colocado no fórum WordPress-PT fiz um pequeno comando SQL que permite alterar o estado de todos os posts numa categoria de uma vez só para ‘draft’, publico este pequeno UPADTE porque com pequenas modificações pode ser bastante útil a quem necessite de actualizar vários posts ou páginas de uma só vez directamente na base de dados do WordPress.

UPDATE wp_posts p /*Tabela onde estão os posts e páginas*/
LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID /*tabela com as relações dos posts*/
LEFT OUTER JOIN wp_terms t ON t.term_id = r.term_taxonomy_id /*tabela onde estao as descrições das categorias*/
SET p.post_status = ‘draft’ /*estados possiveis draft, publish ou pending*/
WHERE p.post_status = ‘publish’ AND p.post_type = ‘post’ AND t.slug = ‘NomeDaCategoria’ /*condições para proceder ao update*/

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