Conversia formatului datei din câmpuri personalizate

14 mar. 2011, 22:06:00
Vizualizări: 24.7K
Voturi: 1

Folosesc plugin-ul More Fields care îmi oferă posibilitatea de a crea o dată formatată YYYY/mm/dd și vreau să o convertesc pentru a fi afișată astfel: Februarie 11, 2011

Este posibil acest lucru?

0
Toate răspunsurile la întrebare 3
6

Ai probleme cu conversia exactă sau cu preluarea datelor? Conversia este simplă și se face folosind PHP simplu:

date('F j, Y', strtotime($date));

Pentru o abordare mai complexă și specifică WordPress, cu suport pentru localizare, vezi funcția date_i18n().

14 mar. 2011 22:53:30
Comentarii

Rarst, pare corect dar am probleme să-l fac să funcționeze 100%.
$date = meta('event_date'); echo date('F j, Y', strtotime($date)); returnează 1 ianuarie 1970... idei?

tjsherrill tjsherrill
16 mar. 2011 00:35:16

@tjsherrill hmm, nu cred că meta() este o funcție nativă?.. Ești sigur că obții o valoare string validă în $date?

Rarst Rarst
16 mar. 2011 00:40:29

Am rezolvat, meta(); este un tag de template oferit de pluginul more-fields. Am folosit pur și simplu get_post_meta și funcționează perfect. mulțumesc

tjsherrill tjsherrill
18 mar. 2011 17:28:27

Nu funcționează pentru mine. Câmpul meu personalizat este "date-time-last" $date = get_post_meta('date-time-last'); echo date('l jS F Y', strtotime($date));

Pete Pete
11 apr. 2016 11:59:27

@Pete verifică valorile pe care le obții și altele, "nu funcționează" este puțin vag. :)

Rarst Rarst
11 apr. 2016 12:29:46

Îmi cer scuze pentru vagul mesajului, am realizat asta după a 5-a editare așa că nu am mai putut actualiza... Continuam să primesc "1 ianuarie 1970". În orice caz, am găsit o soluție care funcționează... <?php $date = get_post_meta($post->ID, 'date-time-last', true); if($date != ''){echo date("l jS F Y", strtotime($date));} ?>

Pete Pete
11 apr. 2016 12:50:15
Arată celelalte 1 comentarii
0

Acest lucru funcționează pentru mine (în interiorul buclei)...

<?php $date = get_post_meta($post->ID, 'CUSTOM-FIELD-HERE', true); if($date != ''){echo date("l jS F Y", strtotime($date));} ?>
11 apr. 2016 15:22:28
0
<?php
$date = '2000/10/28';
$a = preg_split ( '/\//', $date );
echo date('F j, Y', mktime( 0, 0, 0, $a[1], $a[2], $a[0] ) );
14 mar. 2011 22:38:47