Last active
April 9, 2024 00:30
-
-
Save dantetesta/2c127f9c40e3f496b84b768dbed4825a to your computer and use it in GitHub Desktop.
Calcula data em dias.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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