Fórum Brasileiro

[resolvido] RSS2 pubdate (17 posts)

  1. driano
    Membro
    Publicado 1 ano atrás #

    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 2008

    Quero passar november para novembro.

  2. rghedin
    Moderador
    Publicado 1 ano atrás #

    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!

  3. driano
    Membro
    Publicado 1 ano atrá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?

  4. driano
    Membro
    Publicado 1 ano atrás #

    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.

  5. joildo
    Moderador
    Publicado 1 ano atrá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

  6. driano
    Membro
    Publicado 1 ano atrás #

    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
    =)

  7. driano
    Membro
    Publicado 1 ano atrás #

    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>

  8. driano
    Membro
    Publicado 1 ano atrás #

    Ae eu troquei o: D, d M Y H:i:s +0000
    por: r

    Mas nada mudou? Eu postei uma nova noticia e nada...Continua:
    7 de November de 2008

  9. joildo
    Moderador
    Publicado 1 ano atrás #

    Verifiquei 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>
  10. joildo
    Moderador
    Publicado 1 ano atrás #

    Aqui no meu não precisei incluir essa linha que te passei, qual o link do seu feed, para verificar aqui

  11. driano
    Membro
    Publicado 1 ano atrás #

    E essa solução que você comentou pelo que eu li la, é para versões anteriores do wordpress... =|

  12. driano
    Membro
    Publicado 1 ano atrás #

    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...

  13. driano
    Membro
    Publicado 1 ano atrás #

    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:

  14. driano
    Membro
    Publicado 1 ano atrás #

    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; ?>
  15. driano
    Membro
    Publicado 1 ano atrás #

    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...

    =)

  16. joildo
    Moderador
    Publicado 1 ano atrás #

    Muito bom

  17. rbarcelo
    Membro
    Publicado 3 meses atrás #

    Olá Driano, poderia postar aqui o arquivo funcions.php que crio, eu estou com o mesmo problema das datas que aparecem só em inglês.

    Obrigado, Ramiro.

Tópico Encerrado

Este tópico foi encerrado para novas respostas.

About this Topic