Unferth 0 Denunciar post Postado Maio 16, 2011 Bom pessoal o que eu necessito é exibir o ultimo post de cada categoria do wordpress, no meu portal de notícias através do xml, em uma lista, tentei alterar código abaixo para tal, entretanto não estou sabendo como exibir cada um, pesquisei por ai a fora e não obtive resultados, ainda fiz um array pra testar se seria possível, alguém poderia dar uma força? Desde já obrigado, segue o código abaixo: <?php $categoria[1] = '&cat=4'; $categoria[2] = '&cat=8'; $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[1]; $doc = new DOMDocument(); $doc->load($url); $items = $doc->getElementsByTagName("item"); if ($items != null) { foreach ($items as $item) { $titles = $item->getElementsByTagName('title'); $title[] = $titles->item(0)->nodeValue; $links = $item->getElementsByTagName('link'); $link[] = $links->item(0)->nodeValue; $pubDates = $item->getElementsByTagName('pubDate'); $pubDate[] = $pubDates->item(0)->nodeValue; $categorys = $item->getElementsByTagName('category'); $category[] = $categorys->item(0)->nodeValue; } $title = array_slice($title, 0, 1); for ($i=0; $i<sizeof($title); $i++) { echo '<li><a href="'.$link[$i].'" target="_blank"><h1>'.$category[$i],'</h1>' . date('d/m/Y - H:i', strtotime($pubDate[$i])) . '<br />' . substr($title[$i], 0, 35) . '...</a></li>'; } } else { echo 'Não foi possível carregar a lista XML.'; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Maio 16, 2011 Coloca o link do seu RSS aí, sem ver a estrutura fica dificil ajudar :P Compartilhar este post Link para o post Compartilhar em outros sites
Unferth 0 Denunciar post Postado Maio 16, 2011 Coloca o link do seu RSS aí, sem ver a estrutura fica dificil ajudar :P http://www.sergipehoje.com.br/blog/?feed=rss2 Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Maio 16, 2011 Você quer que pegue o ultimo 'item' desse RSS ? Compartilhar este post Link para o post Compartilhar em outros sites
Unferth 0 Denunciar post Postado Maio 16, 2011 Você quer que pegue o ultimo 'item' desse RSS ? Amigo, vou explicar melhor, o que eu quero é o seguinte que seja puxado o ultimo post de cada categoria e seja exibido em uma lista, são 10 categorias, elas vão ficar exibidas na lista, sempre que alguém postar em determinada categoria, só o xml dela é alterado, o ultimo item de cada categoria: $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[1]; $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[2]; $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[3]; $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[4]; $url = 'http://www.ssssssss.com.br/blog/?feed=rss2'.$categoria[5]; como se fosse assim. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Maio 16, 2011 Opá, foi mal.. tive um probleminha aqui em casa =), enfim.. essas categorias são as do XML ? Ou são separadas em outro XML :P Compartilhar este post Link para o post Compartilhar em outros sites
Unferth 0 Denunciar post Postado Maio 16, 2011 Opá, foi mal.. tive um probleminha aqui em casa =), enfim.. essas categorias são as do XML ? Ou são separadas em outro XML :P Essas categorias são do xml do blog, ou seja eu quero puxar do blog wordpress pra o site em si. Mas por categoria, a ultima entrada de cada categoria do blog. Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Maio 16, 2011 Desculpe a demora, energia caiu aqui. Okay não estou entendendo sua estrutura, se é um XML, se e 2 .. enfim . Eu concluí que você quer pegar o ultimo POST de cada categoria nesse link que você passou de RSS Então ele vai pegar a ultima categoria de um item, então imaginei o seguinte XML. Já que não consegui me basear na sua estrutura .. <?xml version="1.0" encoding="UTF-8"?> <root> <channel> <item> <category>Cat1</category> <description>000</description> </item> <item> <category>Cat1</category> <description>123</description> </item> <item> <category>Cat2</category> <description>456</description> </item> <item> <category>Cat3</category> <description>789</description> </item> </channel> </root> <?php $DOMDocument = new DOMDocument( '1.0', 'utf-8' ); $DOMDocument->preserveWhiteSpace = false; $DOMDocument->load( 'rss.xml' ); #seu xml( link, ou arquivo interno ) $DOMXPath = new DOMXPath( $DOMDocument ); foreach( $DOMXPath->query('.//channel/item[not(category = following::category)]') as $Nodes ){ foreach( $Nodes->childNodes as $Node ){ $RSS[ $Node->nodeName ] = $Node->nodeValue; } $RSSContents[] = $RSS; } echo '<pre>'; print_r( $RSSContents ); Me retornou: Array ( [0] => Array ( [category] => Cat1 [description] => 123 ) [1] => Array ( [category] => Cat2 [description] => 456 ) [2] => Array ( [category] => Cat3 [description] => 789 ) ) Compartilhar este post Link para o post Compartilhar em outros sites
Unferth 0 Denunciar post Postado Maio 18, 2011 Agora como faço pra mostrar as últimas de cada categorias numa lista que exiba apenas o titulo, um trecho do conteúdo e a data que foi cadastrada? Compartilhar este post Link para o post Compartilhar em outros sites