Categorias
Programação Wordpress

Exibir artigos de um blog wordpress na home de um site

O WordPress é muito poderoso. E isso pode ser verificado quanto queremos usar o WordPress com um site. Podemos apenas usar algumas características do WordPress como podemos correr o site inteiro com WordPress.

Neste tutorial vamos ver algumas maneiras de exibir alguns artigos de seu blog na página inicial de um site ou página que não esteja dentro do WP. O site ou página, pode estar no mesmo servidor ou não.

1 – Blog WordPress instalado no mesmo servidor do site

Quando o site ou página está instalado no mesmo servidor mas em um diretório diferente do WordPress, é possível exibir os últimos artigos utilizando as Template Tags do WordPress. Então, devemos incluir o WP na página que desejamos exibir os artigos e utilizamos as funções do WordPress mesmo para exibir os mesmos. Veja o código seguinte:

<?php
//Incluir o WordPress
define('WP_USE_THEMES', false);
require('./blog/wp-load.php');
 
//Definir quantos artigos serão exibidos
query_posts('showposts=5');
?>

Para exibir os artigos onde desejamos, usamos o seguinte código:

<?php while (have_posts()): the_post(); ?>
  <li>
    <h4><?php the_title(); ?></h4>
    <span><?php the_time("d/m/Y"); ?></span>
    <?php the_excerpt(); ?>
    <div>
      <a href="<?php the_permalink(); ?>">« Leia Mais...</a>
    </div>
  </li>
<?php endwhile; ?>

Será exibida uma listagem com o título, resumo e outras informações do artigo. Pode consultar a documentação do WordPress onde estão listadas todas funções com exemplos práticos.

2 – Blog WP instalado em outro servidor

Quando o blog está instalado em outro servidor, podemos listar os últimos artigos através do Feed RSS. Essa opção fornece menos opções de controle de conteúdo.

O seguinte código utiliza a função simplexml_load_file(), que está disponível no PHP desde a versão 5. No código teremos de usar endereço do Feed gerado pelo WordPress. Geralmente fica algo como «http://www.ENDERECO-DO-BLOG.COM/feed/» ou «http://feeds.feedburner.com/MEU-FEED-AQUI» se usarmos o feedburner. Veja o seguinte código com as duas situações:

<?php
$url = 'http://www.ENDERECO-DO-BLOG-AQUI.COM/feed/';
$xml = simplexml_load_file($url);
 
if($xml !== false){
  echo '<ol>';
  foreach ($xml->channel->item as $node) {
  // end
  }
  echo '</ol>';
}?>

Isso imprimirá uma listagem com todos os posts do Feed definidos em «Configurações» > «Leitura», na opção «Os feeds RSS mostram os últimos». Outras informações estão disponíveis no feed, basta acessar o endereço e visualizar o XML gerado pelo WordPress. Segue alguns campos que podem ser acessados, utilizando ‘$node->CAMPO’.

  $node->description: um resumo do post.
  $node->pubDate: data de publicaçao

Usando o feedburner.google.com:

<?php 
  include_once(ABSPATH.WPINC.'/rss.php'); 
  $feed = fetch_rss('http://feeds.feedburner.com/MEU-FEED-AQUI'); 
  $items = array_slice($feed->items, 0, 10); ?> 
  <?php if (!empty($items)) : ?>
  <ul> 
      <?php foreach ($items as $item) : ?> 
      <li> <a href="<?php echo $item['link']; ?>"> <?php echo $item['title']; ?> </a><br /> </li> 
      <?php endforeach; ?> 
  </ul>
  <?php endif; ?>

Referências usadas: Integrating WordPress with Your Website

E você costuma usar artigos do blog na homepage de um site? Conhecia esta forma? Comente!

Um abraço e até já!



4 comentários a “Exibir artigos de um blog wordpress na home de um site”

Isso vai depender dos feeds que esta a ler, se o site em questão usa imagem nos feeds, e possível chamar essas imagens…
Consulte o a variável “$items” criada em $items = array_slice($feed->items, 0, 5);

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *