Dicas de Windows 7 AondeNamoro.com!

Novo! Tem dúvidas de informática? Poste na nova seção de Perguntas e Respostas! Entre agora.
 

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.

AondeNamoro.com!



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.))
Conheça os livros do Carlos E. Morimoto, do Guia do Hardware. Você pode comprar os livros pelo site, e vários dos mais antigos estão disponíveis para leitura na íntegra, como o livro de Hardware.


O produtor do Explorando (Marcos Elias) vive ouvindo música no computador, e sempre gostou de players simples e rápidos. Como os atuais acabam se distanciando dos seus ideais, se lotando de frescuras na interface, ele decidiu montar seu próprio player. Eis o Mondego. Leve, simples, rápido, com busca na playlist, músicas favoritas e vários recursos que tornam o dia-a-dia mais agradável. Saiba mais e baixe já. É grátis! Veja também o review no Baixaki, Superdownloads e Softpedia, três grandes sites.

Mondego Player