Dicas de Windows 7
 

Inserindo conteúdo de feeds RSS nos templates do Wordpress

Publicado em 23/11/2008 • blog, webmaster, Wordpress11 comentários »

por Marcos Elias

Na maioria dos meus sites em Wordpress raramente uso os widgets para colocar conteúdo nas barras laterais. Para poder executar PHP personalizado, entre outras coisas, normalmente ignoro os Widgets removendo as entradas nos arquivos das barras laterais, e faço as coisas manualmente por ali.

Itens básicos como exibição de posts recentes, categorias, etc normalmente já têm nos arquivos sidebar-algumacoisa.php, pois são usados caso não tenha nenhum widget configurado no painel. Porém um item que eu sentia falta era um puxador de conteúdo RSS, que exibisse itens de um feed, assim como ao adicionar conteúdo de um feed no Widget.

Pesquisando no Codex, base de código e documentação do Wordpress.org, achei a função que procurava. O Wordpress tem um capturador de RSS embutido (usando o MagpieRSS e o RSSCache), de forma que usar as funções é extremamente simples.

Tem aqui, sobre a wp_rss():

http://codex.wordpress.org/Function_Reference/wp_rss

E a fetch_rss():

http://codex.wordpress.org/Function_Reference/fetch_rss

Esta segunda se mostrou melhor aqui, na primeira os acentos do feed ficavam zuados, coisas do Unicode, problemas do tipo.

O código é simples, mas um esquema pronto facilita as coisas:

<h2>Atualizações do site tal</h2>
<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . '/rss.php');
$rss = fetch_rss('http://www.enderecodosite.com.etc/feed');
$maxitems = 5;
$items = array_slice($rss->items, 0, $maxitems);
?>

<ul>
<?php if (empty($items)) echo '<li>Sem itens</li>';
else
foreach ( $items as $item ) : ?>
<li><a href='<?php echo $item['link']; ?>'
title='<?php echo $item['title']; ?>'>
<?php echo $item['title']; ?>
</a></li>
<?php endforeach; ?>
</ul>

Nesse esquema ele coloca os itens numa lista, ideal para a maioria dos temas do Wordpress. Eu usei no meu novo Blog de Música Eletrônica diretamente nos arquivos index.php e single.php do tema, para ficar na página, e não nas barras laterais (clique na imagem para ver maior):

A variável $maxitems define a quantidade de itens, aumenta ou diminua conforme sua necessidade (não sei se há algum limite).

Nota: o target=_top no link do código acima fui eu quem coloquei, pois uso base target=_blank no header, para abrir a maioria dos links em nova janela, colocando target=_top nos links internos. Você pode tirar o target, ou colocar um target=_blank, para abrir os itens do feed numa nova janela (ideal para sites externos).

O código é bastante útil :) Além do que se ficasse dependendo dos widgets, a inserção de itens de feed ficaria limitada às barras laterais, o que não ocorre ao usar o código diretamente.




Aviso: Os coment?rios s?o postados pelos visitantes do site, e n?o expressam a opini?o da produ??o. Eventuais coment?rios indesejados, ofensivos ou que firam nossas pol?ticas ou interesses de alguma forma poder?o ser removidos sem aviso pr?vio. Ao comentar, seu IP ser? gravado em log, assim como em praticamente todo blog. Evite coment?rios in?teis. Para d?vidas, poste na comu.

11 comentários

Comentário de: Jeronimo [Visitante] Email · http://www.jt-online.net
cara, gostei muito dessa dica !
bem simples, e fica facil de adicionar conteudo de feeds em qualquer lugar da pagina !
Não consegui fazer funcionar com os Feeds do terra. Alguem tem ideia de como fazer pegar ?
04.12.08 @ 23:00
Comentário de: Marcos Elias [Visitante] Email · http://www.explorando.com.br
Sobre os feeds do Terra não sei não... Deve ser alguma incompatibilidade com o pegador de feeds do Wordpress. Usando o Widget de RSS no Wordpress, ele funciona?
09.12.08 @ 03:55
Comentário de: andre [Visitante] Email · http://notem
olha só! estou tentando colocar o rss para funcionar de forma que cada post adicionado no blog interno da empresa em que trabalho, seja diretamente enviado a todos os usuários registrados. Dá pra fazer isso no wordpress?
09.12.08 @ 15:28
Comentário de: Marcos Elias [Visitante] Email · http://www.explorando.com.br
Usando o FeedBurner sim... Estou pra escrever sobre ele ainda.

No feedburner.com vc redireciona o feed pra ele, e pode gerar um sistema de envio por email usando os servidores dele, em poucos cliques.
10.12.08 @ 04:56
Comentário de: adritec [Visitante] Email · http://www.vejaso.info
Muito bom pelo Comentário acerca de RSS...Caro colega me esclareça uma dúvida, como gerar Feed sem depender de um Servidor externo! Se puder ajudar agradeço! Visite meu Site!
http://www.vejaso.info
17.12.08 @ 17:04
Comentário de: Marcos Elias [Membro] Email · http://www.explorando.com.br
Vc pode fazer o feed manualmente: http://www.guiadohardware.net/dicas/criando-feed-rss.html
07.01.09 @ 01:14
Comentário de: woody [Visitante] Email
tem como colocar mais de um feed no mesmo codigo?
Pode chamar tambm um breve conteudo?
11.01.09 @ 18:47
Comentário de: Marcos Elias [Membro] Email · http://www.explorando.com.br
Woody, não sei dizer, teria q ler a documentação dele mais a fundo, todavia existem outras formas de obter conteúdo de feeds que vc pode usar em PHP.
06.02.09 @ 01:31
Não consigo incluir os feeds em meu blog... Dá sempre erro. O meu template é o k2 no WordPress. O que pode está acontecendo, pode me ajudar?
19.02.09 @ 12:40
Comentário de: guga [Visitante] · http://celebrista.com.br
ótima dica, só uma dúvida: você sabe como inserir junto com o titulo a data do item?
abs!
20.04.09 @ 13:55
Como que faço para colocar o feed de comentários igual do seu site, no meu blog?
Eu já tenho o feed e como que eu faço pra que ele fique em português.
Por favor me ajude!
10.05.09 @ 13:47

Deixe seu comentário


Seu endereço de e-mail não será revelado nesse site.

Sua URL será exibida.
(Quebras de linha se tornam <br />)
(Nome, e-mail & website)
(Permitir que usuários o contatem através de um formulário eletrônico (seu e-mail não será exibido.))
Baixar o Mep Spy
Daqui para baixo o Explorando traz indicações e recomendações de amigos, parceiros ou comerciais. Leia e aproveite o que lhe for útil :)
Para ler mais artigos e dicas do site, use o menu lateral, onde você pode ver as atualizações recentes e todos os textos organizados por data de publicação, desde 2005. O Explorando tem orgulho de estar há tanto tempo no ar, sendo um dos primeiros blogs diferenciados de dicas de informática do Brasil.
Ir para a página inicial - Ir para o fórum - Ir para a comunidade no Orkut

Peça o seu pela Internet: acesse o site www.megabonus.com.br
Clique em "Peça seu cartão" e forneça este Código de Indicação MegaBônus: 1170916814009

Se preferir por telefone:
4004-3000 (Capitais e Regiões Metropolitanas)
0800-7223000 (Demais Localidades)
Código de Indicação MegaBônus: 117.091.681.4009

Se você tem site ou blog, é uma ótima forma de ganhar uma renda extra, indicando para seus visitantes e assim conquistando muitos indicados. Aproveite sua capacidade de divulgação na web :)

"Todo o conte?do deste site ? de exclusiva responsabilidade de seu propriet?rio e idealizadores, n?o apresentando qualquer v?nculo com o Unicard Banco M?ltiplo S/A ou com qualquer empresa do conglomerado financeiro do qual pertence. O site oficial do Cart?o MegaB?nus ? www.megabonus.com.br"