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[a gravado em log, assim como em praticamente todo blog. Evite comentários inúteis.
COMENTÁRIOS DESATIVADOS: A partir de abril de 2011 os comentários nesta seção antiga do site foram desativados, porque estava vindo muito SPAM automático. Para dúvidas ou novos comentários sobre algo que você não entendeu, poste no fórum que tanto a equipe como outros visitantes poderão lhe ajudar.
