Campo Seletor de Datas (Date Picker)

O campo seletor de datas (date picker) cria um seletor jQuery de datas. Este campo é muito útil quando temos postagens que precisam exibir uma data diferente da data de publicação, como a data de início e fim de um determinado evento.

acf-seletor-datas

acf seletor datas

Campos adicionais deste tipo de campo

  • Formato dos dados: A string que representa a seqüência do formato da data. Este será o formato em que a data será guardada no banco de dados e retornada pela API. Se você pretende usar este campo para ordenar seus posts, por favor deixe o formato como yymmdd. Observe também que a seqüência de formato de data em JS é um pouco diferente de uma versão PHP, então você não vai usar o mesmo formato de quando configura a data que aparece em um post, nas opções do WordPress. Leia mais sobre formatos de data jQuery
  • Formato de exibição: Este será o formato em que a data será exibidada para o usuário. “dd/mm/yy” é o formato de exibição mais utilizado para nosso padrão brasileiro. Leia mais sobre formatos de data jQuery
  • Semana começa em: Usado apenas para definir qual será a primeira coluna do date picker exibido.

Como utilizar este campo em um template WP?

A API irá retornar uma string contendo a data no formato configurado previamente.

Dica: Você pode usar a função dateTime do PHP para ter maior controle sobre o valor retornado.

Se você planeja a sua data de saída esteja em um formato diferente, lembre-se que o formato de data em JS em em PHP são diferentes, e estarão exemplificados no final.

<?php

/*
*  Exibindo valor único
*/

?>
<p>Posted on: <?php the_field('data-evento'); ?></p>

<?php

/*
*  Criando um objeto PHP DateTime oa partir do valor do Date Picker Value
*  este exemplo foi feito pensando no formato da data salva estar como: yymmdd (JS) = Ymd (PHP)
*/

$date = DateTime::createFromFormat('Ymd', get_field('data-evento'));
echo $date->format('d-m-Y');

/*
*  Ordenação de posts baseado nas datas do Date Picker value
*/

$posts = get_posts(array(
	'meta_key' => 'data-evento', // name of custom field
	'orderby' => 'meta_value_num',
	'order' => 'ASC'
));

if( $posts )
{
	foreach( $posts as $post )
	{
		setup_postdata( $post );

		// ...

	}

	wp_reset_postdata();
}

/*
*  Exemplos de formatos e suas diferenças em JS e PHP
*/

$js = "yymmdd"
$php = "Ymd"

$js = "dd/mm/yy"
$php = "d/m/Y"

$js = "yy_mm_dd"
$php = "Y_m_d"

?>

Traduzindo para outros formatos de datas

Se você precisar exibir a data num formato não americano, o WordPress contém a função date_i18n que te deixa fazer tais conversões de formatos de data.

<?php

$dateformatstring = "l d F, Y";
$unixtimestamp = strtotime(get_field('data-evento'));

echo date_i18n($dateformatstring, $unixtimestamp);

?>

Formatação de valor ( PHP < 5.3)

Se o servidor estiver executando uma versão do PHP anterior à 5.3, o mais provável é que você não tenha acesso à classe DateTime e suas funções. Como um paleativo, você pode usar as funções strtotime e date para formatar o valor.

<?php 

$date = get_field('data-evento');
// $date = 19881123 (23/11/1988)

// extraindo dia (D), mês (M) e ano (Y)
$d = substr($date, 6, 2);
$m = substr($date, 4, 2);
$y = substr($date, 0, 4);

// formato de data UNIX
$time = strtotime("{$d}-{$m}-{$y}");

// formato de data (23/11/1988)
echo date('d/m/Y', $time);

// formato de data americano (November 11th 1988)
echo date('F n Y', $time);

?>

Date Query

Lembre-se que é possível utilizar o date_query do WordPress para ordenar suas postagens da forma que você precisar. Para isso, leiam os exemplos em https://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

Posts Similares

  • Campo Relacional

    O Campo Relacional é uma versão bem atrativa do campo de objetos. Com o Campo Relacional, você pode selecionar itens relacionados a uma página / posts / custom post types. É uma ótima forma de parar de usar plugins para posts relacionados, que nunca relacionam com precisão, e deixar seus usuários fazerem este relação manualmente, se…

  • Campo de Seleção (Select)

    Campo de Seleção (Select)

    O Campo de Seleção cria um seletor dropdown ou de múltiplas escolhas. Campos adicionais deste tipo de campo Escolhas: Aqui você vai popular a lista de valores selecionáveis. Cada item desta lista deverá estar em uma linha,  e deverá ser preenchido no formato ‘valor : label’. Se você escrever apenas um item sem os dois…

  • Campo de Upload de Arquivo

    O campo de Upload de arquivo permite que um arquivo seja selecionado e enviada para o servidor, utilizando a API nativa do WordPress para upload, o plupload. Campos adicionais deste tipo de campo Valor Retornado: Define o tipo de retorno dos dados. Você pode escolher entre Objeto (array de dados), URL do arquivo (string), ou ID do arquivo (int); Biblioteca:…

  • have_rows()

    have_rows()

    Esta função verifica se o campo (repetidor ou conteúdo flexível) tem quaisquer linhas de dados para executar um loop. Esta é uma função booleana, ou seja, ele retorna VERDADEIRO ou FALSO. Esta função é uma substituição para a função has_sub_field, no entanto, tem algumas diferenças pequenas mas significativas. A principal diferença é que esta função não…

  • Campo Verdadeiro ou Falso (booleano)

    O campo Verdadeiro ou Falso cria um seletor com estas duas opções, onde 1 é verdadeiro e 0 é falso. Campos adicionais deste tipo de campo Mensagem: Texto descritivo exibido perto do checkbox. Valor padrão: você pode definir se o valor padrão será verdadeiro ou falso. Como utilizar este campo em um template WP? A API…

  • Criando grupos de campos e novos campos com o ACF

    Criando grupos de campos e novos campos com o ACF

    Agora que já vimos toda teoria sobre o que é o Advanced Custom Fields, vamos começar a falar de forma mais prática sobre o uso do plugin. O ACF trabalha com o conceito de Campos e Grupos de Campos, que são a primeira coisa que você deve entender. Digamos que você precisa criar campos que…

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *