Inserindo conteúdo de feeds RSS nos templates do Wordpress
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
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 ?
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.
http://www.vejaso.info
Pode chamar tambm um breve conteudo?
abs!
Eu já tenho o feed e como que eu faço pra que ele fique em português.
Por favor me ajude!
Deixe seu comentário
Indicações e patrocinadores
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
Recomendo este cartão!
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"










