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.
