Melhorando a exibição das datas no seu site
Você já deve ter visitado algum site em que, ao invés de exibir a data no formato padrão dia/mês/ano, a data era exibida de um jeito mais humano, algo como 3 dias atrás. Mas como fizeram isso?
Você já deve ter visitado algum site em que, ao invés de exibir a data no formato padrão dia/mês/ano, a data era exibida de um jeito mais humano, algo como 3 dias atrás. Mas como fizeram isso?
Já vi muitos temas utilizando bibliotecas JavaScript para criar datas mais legíveis no conteúdo, porém, o WordPress já tem uma função para fazer isso.
O que eu quis dizer com datas mais legíveis?
Você já deve ter visitado algum site em que, ao invés de exibir a data no formato padrão dia/mês/ano, a data era exibida de um jeito mais humano, algo como 3 dias atrás.
Muito mais fácil de entender quando o conteúdo foi publicado não?
Abaixo vou mostrar como fazer isso em seu loop:
1 2 3 4 5 6 |
<?php $from = get_the_time( 'U' ); $to = current_time( 'timestamp' ); printf( _x( '%s ago', '%s = human-readable time difference', 'your-text-domain' ), human_time_diff( $from, $to ) ); ?> |
Basicamente fizemos o seguinte:
Recuperamos a data do post (ou qualquer outro CPT) e salvamos na variavel $from.
1 |
$from = get_the_time( 'U' ); |
Depois pegamos a data atual do servidor e salvamos na variável $to.
1 |
$to = current_time( 'timestamp' ); |
Okay, isso ficou um pouquinho mais complexo por que estamos usando 3 funções de uma só vez (printf, _x e human_time_diff).
1 |
printf( _x( '%s ago', '%s = human-readable time difference', 'your-text-domain' ), human_time_diff( $from, $to ) ); |
Vou explicar do fim para o início da linha para fazer mais sentido:
Eu poderia ter usado __() ao invés de _x()?
Sim, porém, é muito melhor deixar a vida dos tradutores mais fácil.
Já vi muitas pessoas traduzindo strings com %s sem deixar espaço após o S por não saber que isso fará com que a informação dentro do %s deixe de ser processada.
Resumidamente: Traduzir ‘%s ago’ como ‘%satrás’ quebrará sua tradução.
Bom, não vou aprofundar em tradução agora por que pretendo escrever sobre tradução de temas e plugins posteriormente.
Caso você queira saber mais sobre as funções utilizadas nesse exemplo, aqui estão os links para a documentação do WordPress:
O printf() é nativo do PHP, não do WordPress 🙂
1 comentário para "Melhorando a exibição das datas no seu site"
Pingback: Inserindo suporte a tradução em temas e plugins do WP