RSS2 pubdate
-
Como que eu faço para data que ta sendo exibida passe para portugues?
Eu to usando esse código:<p class=”data”><?php echo date(“j \d\e F \d\e Y”, strtotime($item[‘pubdate’])); ?></p>
Ae exibe assim:
7 de November de 2008Quero passar november para novembro.
-
Driano, você precisa editar o arquivo
/wp-includes/locale.php
. É lá que ficam as datas (dias da semana e meses) usados por todo o WordPress, tanto nos temas, quanto no painel administrativo.Dica: como no
locale.php
os nomes começam com letra maiúscula (e devem ser mantidos assim), acrescente esse atributo à classe.data
:.data { text-transform: lowercase; }
Assim, todas as letras, independente de como foram escritas, serão exibidas na forma minúscula.
[]’s!
Mas minhas datas ja são em portugues sozinhas.
Por exemplo se eu uso:
the_time(‘F’);
Ela exibe direitinho.Problema é que quando eu boto pra mostrar via rss algo personalizado, é que ele mostra em inglês o pubdate do rss.
Mas meu locale ta todo em inglês, certo? E pq que usando o the_time ele exibe em português então?
E não teria uma solução sem ter que alterar o arquivo locale? Pq toda atualização do wordpress, esse arquivo é mudado, correto?
Acho que deve ter uma solução para isso, sem ter que alterar esse arquivo. Até porque minhas outras datas do wordpress aparecem em português.Veja aqui Driano http://codex.wordpress.org/Customizing_Feeds#Make_PubDate_Work_with_Non-English_Dates
basicamente o que o Codex indica é:
1. Editar o arquivo wp-rss2.php
Onde tem isso<pubDate> <?php echo mysql2date('D, d M Y H:i:s +0000', get_the_time('Y-m-d H:i:s')); ?> </pubDate>
Deve ficar assim:
<pubDate> <?php echo mysql2date('r', get_the_time('Y-m-d H:i:s')); ?> </pubDate>
Mas nesse caso também, a cada atualização teria que editar
Eu tinha visto já essa solução, mas eu tava querendo evitar ter que alterar arquivos assim né…
Mas vou testar isso ae, e daqui a poco posto aqui..
mas não é wp-rss2.php, é o wp-includes/feed-rss2.php
=)Só que a linha que você comentou ae pra substituir não é identica não, é essa aqui a que eu tenho:
<pubDate><?php echo mysql2date(‘D, d M Y H:i:s +0000’, get_post_time(‘Y-m-d H:i:s’, true), false); ?></pubDate>
Ae eu troquei o: D, d M Y H:i:s +0000
por: rMas nada mudou? Eu postei uma nova noticia e nada…Continua:
7 de November de 2008Verifiquei aqui é o feed-rss2.php mesmo
Já quanto a última mensagem
As instruções devem ser para uma versão mais antiga, mas deixe da seguinte forma e verifique o resultado:
<pubDate> <?php echo mysql2date('r', get_post_time('Y-m-d H:i:s')); ?> </pubDate>
Aqui no meu não precisei incluir essa linha que te passei, qual o link do seu feed, para verificar aqui
E essa solução que você comentou pelo que eu li la, é para versões anteriores do wordpress… =|
Não é link de feed, não é algo igual http://site.com/rss2/ não!
Eu to criando uma página, onde nesta página eu to buscando dados de um rss… só que em uma parte, busca só o ultimo , na outra parte só o ultima de uma categoria… e assim vai…Se eu visito o meu endereço de feed ae, mostra a data em portugues e talz… o problema é quando eu uso o código pra buscar rss pra minha página, ae a data vem em inglês.
Ta ae um exemplo:
include_once(ABSPATH . WPINC . '/rss.php'); $rss = fetch_rss('http://www.ufjf.br/dircom/?feed=rss2&cat=-22&cat=-21&cat=-20'); $maxitems = 3; $items = array_slice($rss->items, 1, $maxitems); ?> <?php if (empty($items)) echo '<li>Sem notícias</li>'; else foreach ( $items as $item ) : ?> <h3 class="inicial"> <a href='<?php echo $item['link']; ?>' title='<?php echo $item['title']; ?>'> <?php echo $item['title']; ?> </a> </h3> <p class="data"><?php echo date("j \d\e F \d\e Y", strtotime($item['pubdate'])); ?> <?php endforeach; ?>
Resolvi o problema, criando um functions.php no tema, e criando uma função em php mesmo que troca por exemplo ‘December’ para ‘Dezembro’ e ae vai.
Ae pelo menos não preciso mudar nada em arquivo nenhum do wordpress…
=)
Muito bom
- O tópico ‘RSS2 pubdate’ está fechado para novas respostas.