Quando você utiliza o tipo de campo Date Picker para selecionar datas no Advanced Custon Fields, você consegue exibir o dia da semana da seguinte forma:
1 2 |
$date = DateTime::createFromFormat('Ymd', get_field('data')); // Cria o objeto de data echo $date->format('l') // Com o parâmetro "l" mostra somente o dia da semana. |
Mas os dias da semana são exibidos em Inglês. Eu precisei exibi-los em português, então criei uma função para facilitar, caso venha utilizar novamente em outro projeto. A função é a seguinte:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//Traduzir Dias da Semana no ACF function translateWeekDay($name_field=''){ if($name_field == ''){ return "Preencha o nome do campo!"; } else { switch($name_field){ case('Sunday'): return "Domingo"; break; case('Monday'): return "Segunda-feira"; break; case('Tuesday'): return "Terça-feira"; break; case('Wednesday'): return "Quarta-feira"; break; case('Thursday'): return "Quinta-feira"; break; case('Friday'): return "Sexta-feira"; break; case('Saturday'): return "Sábado"; break; } } } |
Essa função você vai colocar no arquivo functions.php.
Para exibir no seu código você vai fazer o seguinte:
1 2 |
$date = DateTime::createFromFormat('Ymd', get_field('data')); // Cria o objeto de data $dia_semana = translateWeekDay($date->format('l')); |
// Atualização: 29/01/2014
Função para traduzir os nomes dos meses no ACF:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
//Traduzir Mês no ACF function translateMonthDay($name_field=''){ switch($name_field){ case('January'): return "Janeiro"; break; case('February'): return "Fevereiro"; break; case('March'): return "Março"; break; case('April'): return "Abril"; break; case('May'): return "Maio"; break; case('June'): return "Junho"; break; case('July'): return "Junho"; break; case('August'): return "Agosto"; break; case('September'): return "Setembro"; break; case('October'): return "Outubro"; break; case('November'): return "Novembro"; break; case('December'): return "Dezembro"; break; } } |