Skip to content

Instantly share code, notes, and snippets.

@dantetesta
Last active April 9, 2024 00:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dantetesta/2c127f9c40e3f496b84b768dbed4825a to your computer and use it in GitHub Desktop.
Save dantetesta/2c127f9c40e3f496b84b768dbed4825a to your computer and use it in GitHub Desktop.
Calcula data em dias.php
// uso do shortcode = [calcular_dias data="d/m/Y"]
<?php
function calcular_dias_desde($atts) {
// Extrai os atributos do shortcode
$atts = shortcode_atts(
array(
'data' => '01/01/1970', // Data padrão se nenhuma for fornecida
),
$atts,
'calcular_dias'
);
// Converte a data de entrada para o formato Y-m-d, necessário para a classe DateTime
$data_formatada = DateTime::createFromFormat('d/m/Y', $atts['data']);
if (!$data_formatada) {
return "Formato de data inválido. Use d/m/Y.";
}
$data_formatada = $data_formatada->format('Y-m-d');
// Cria objetos DateTime para a data fornecida e a data atual
$data_inicial = new DateTime($data_formatada);
$data_atual = new DateTime(); // Data atual
// Calcula a diferença entre as datas
$diferenca = $data_atual->diff($data_inicial);
// Verifica se o número de dias é 1 para ajustar o texto para singular ou plural
if ($diferenca->days == 1) {
$texto_dias = ' dia de vida';
} else {
$texto_dias = ' dias de vida';
}
// Retorna o total de dias de diferença com o texto ajustado para singular ou plural
return $diferenca->days . $texto_dias;
}
// Registra o shortcode no WordPress
add_shortcode('calcular_dias', 'calcular_dias_desde');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment