Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera preciso pegar a imagem do feed em um blog em wordpress, para que eu possa listar em uma área de membros o resumo do blog, e antes funcionava beleza com o xml desta forma abaixo:
<description>
<![CDATA[
<p><img width="130" height="120" src="http://blog.site.com.br/wp-content/uploads/2014/10/seo-130x120.png" class="attachment-post-thumbnail wp-post-image" alt="BAU1" /></p> <p>texto</p>
]]>
</description>
<content:encoded>
<![CDATA[
<p><img width="130" height="120" src="http://blog.site.com.br/wp-content/uploads/2014/10/seo-130x120.png" class="attachment-post-thumbnail wp-post-image" alt="BAU1" /></p>Jtexto</p>
]]>
</content:encoded>
Agora o xml mudou em uma atualização ficando deste jeito.
<item>
<title>SEBRAE e os Negócios Virtuais</title>
<link>
http://blog.site.br/negocios-virtuais/
</link>
<comments>
http://blog.site.br/negocios-virtuais/#comments
</comments>
<pubDate>Tue, 30 Sep 2014 18:16:07 +0000</pubDate>
<dc:creator>
<![CDATA[ ViaLoja Shopping ]]>
</dc:creator>
<category>
<![CDATA[ Comércio Eletrônico ]]>
</category>
<category>
<![CDATA[ Produtividade ]]>
</category>
<guid isPermaLink="false">[http://blog.site.com.br/?p=262](http://blog.site.com.br/?p=262)
<description>
<![CDATA[
<p>Normalmente é assim, pelo menos na internet.....</p>
]]>
</description>
<wfw:commentRss>
http://blog.site.br/negocios-virtuais/feed/
</wfw:commentRss>
<slash:comments>0</slash:comments>
<media:content url="http://blog.site.com.br/wp-content/uploads/2014/09/seo-150x150.jpg" width="150" height="150" medium="image" type="image/jpeg"/>
</item>
<item>
Não estou conseguindo pegar esta parte, que é imagem =)
<media:content url="http://blog.vialoja.com.br/wp-content/uploads/2014/09/sebrae-150x150.jpg" width="150" height="150" medium="image" type="image/jpeg"/>
Já fiz várias modificações e como não consegui, vou postar o código original, lembrando que os outros dados estão funcionando corretamente como por exemplo title. :wacko:
Segue o js
function loaded_blog(result) {
if (!result.error) {
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var dataPubli = new Date(entry.publishedDate);
var img = $(entry.content).find('img:first');
img = $(img[0]).attr('src');
var div = "<div class='media'><a class='pull-left' href='" + entry.link + "' target='_blank'><img class='media-object' src='" + img + "' /></a><div class='media-body'><a href='" + entry.link + "' target='_blank' title='" + entry.title + "'><h4 class='media-heading'><span class='text'>" + truncar_texto(entry.title, 100) + "</span>";
if (dataPubli > dataNovo) {
div += "<span class='label label-success'>Novo</span>";
}
div += "<small> - " + formatar_data(dataPubli) + "</small></h4>" + truncar_texto(entry.contentSnippet, 120) + "</a></div></div>";
$('.changelog-container .box-content').append(div);
}
}
}
Obrigado!
Valeu William, vou dar uma pesquisada e vê se acho em js, senão vou partir para o php mesmo.
:thumbsup:
Se existir no objeto, ele pode ser acessado
<script>
var media = entry['media:content'];
// O que é media?
</script>
O que é media?
Se for um objeto, então acesse seu atributo url=""
Se desejar usar PHP, eu já tenho alguma coisa pronto, posso lhe passar se desejar
$.ajax({
url: 'freed.xml',
dataFilter: function( xmlDoc ){
var title = $(xmlDoc).find('title').text();
// etc...
var image = $(xmlDoc).find('media\\:content, content').attr('url');
}
});
Sim, é por causa do namespace.
Esse foo:bar é um problema na leitura de xmls.
Não sei como configuraria no javascript, mas no server-side com php por exemplo, para ler namespace, vc precisa registrá-lo antes. Exemplo:
http://wbruno.com.br/wordpress/ler-namespace-xml-php-usando-a-simplexml/
Dá uma pesquisada se vc precisa tb "registrar o namespace" no js.