Aceder a dados de post fora do loop do WordPress
anúnciantes
Este é um tutorial intermédio pois mesmo que copiem o código não está ao nível de todos os leitores conseguirem personaliza-lo sem algum conhecimento de programação.
Contudo a lógica for intendida consegue-se facilmente adaptar o tutorial de hoje ás necessidades que surgirem. Vamos lá começar.
Primeiro tens de editar o ficheiro functions.php que está dentro da pasta do teu theme, se não existe então cria o ficheiro.
No tutorial de hoje vou criar uma função que usando o ID do post vai buscar informação relativa a esse post como o titulo do post, data em que foi criado, conteúdo, id do autor, etc. Caso uses custom fields também vais poder usar esta informação.
A função que se segue deve ser colocada dentro do ficheiro functions.php. Ela vai buscar a informação ao post através do seu ID:
function busca_dados($postId) {
global $wpdb;
return $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE ID=$postId");
}
O código que se segue é adicionado directamente nos ficheiros do theme a onde queres que apareça a informação:
<?php
$dados = busca_dados(10);
echo $dados[0]->post_title; //Mostra titulo do post
echo $dados[0]->post_date; //mostra data do post
echo $dados[0]->comment_count; //mostra numero de comentarios
echo $dados[0]->post_content; /mostra conteudo do post
?>
Existe bastante informação que podes ir buscar a um único post, pessoalmente não conheço a onde possa estar a informação relativa a quais são todos os campos que a página de posts do WordPress possuí, mas de certo que olhando para ela ficas com uma ideia, só tens é de descobrir como se chama esse campo na base de dados.
Se alguém souber a onde está essa informação deixa comentário





Lopo Lencastre de Almeida
February 17, 2010
Vê este artigo: http://wphackr.com/wordpress-post-variable-quick-reference/
Basta que na tua função declarares
global $post;e depois acedes a todos os dados respectivos.function busca_dados() {
global $post;
echo $post->post_title; //Mostra titulo do post
echo $post->post_date; //mostra data do post
echo $post->comment_count; //mostra numero de comentarios
echo $post->post_content; /mostra conteudo do post
}