Date, Date and time ve Time
3 dk okuma
Bu üç tarih ve saat türü gerçek DATE, DATETIME ve TIME değerleri saklar; böylece veritabanı bunları sıralayabilir ve karşılaştırabilir ("bugünden sonraki etkinlikler").
Tür | Tür kimliği | Sütun | İzin verilen SQL türleri | Saklanma ve döndürülme biçimi | Kontrol |
|---|---|---|---|---|---|
Date |
|
|
|
| Tarayıcının tarih seçicisi |
Date and time |
|
|
|
| Tarayıcının tarih ve saat seçicisi |
Time |
|
|
|
| Tarayıcının saat seçicisi |
Denetimler tarayıcının kendi bileşenleridir (<input type="date">, datetime-local, time); bu nedenle görünüm ve takvim, editörün tarayıcısına ve diline bağlıdır.
Tür ayarları
Ayar | Varsayılan | Etki |
|---|---|---|
Display format | boş | Değer yazdırıldığında ( |
Biçim yalnızca çıktıyı etkiler. wpmcf_get_field() her zaman saklanan dizeyi döndürür.
Değerler site saatindedir
Tarih ve saatler sitenizin saat dilimindeki duvar saati değerleridir. Kaydederken veya okurken saat dilimi dönüşümü yapılmaz. 2026-05-01 08:30:00 değerindeki bir Date and time, Settings › General bölümünde ayarlanan saat dilimindeki 08:30 anlamına gelir. Yazdırma WordPress'in wp_date() işlevini kullanır; bu nedenle ay ve gün adları site diline uyar.
Kaydederken nelerin kabul edildiği
Ayrıştırma katıdır: değer kabul edilen biçimlerden biriyle birebir eşleşmeli ve gerçek bir takvim anı olmalıdır. Bunun dışındaki her şey atılır ve alan boş kaydedilir.
Tür | Kabul edilen girdi | Şu şekilde kaydedilir |
|---|---|---|
Date |
|
|
Date and time |
|
|
Time |
|
|
Reddedilen örnekler: 2026-02-30 (böyle bir gün yok), 01/05/2026 (yanlış biçim), 2026-05-01 10:00 (Date için), 2026-13-01 08:30, 25:00, 8:30 (saat iki haneli olmalıdır) ve Date and time için saatsiz bir tarih. Reddedilen değer alanı temizler; önceki değer korunmaz.
Varsayılan değer ve zaman damgaları
- Bir varsayılan değer, sütun biçiminde tam bir değer olmalıdır (
2026-01-01,2026-01-01 09:00:00,08:30:00); aksi halde grup reddedilir ("the default value does not fit this field type (dates are YYYY-MM-DD, times HH:MM:SS)"). - Date and time şu sütun işlevini kullanabilir:
current_timestamp. Alan boş bırakıldığında, nesnenin satırı oluşturulurken veritabanı o anı doldurur; sonradan yapılan boş bir gönderim saklanan anı değiştirmez. Bu, "son değiştirilme" değil, "ilk ne zaman kaydedildi" damgasıdır.
Şablonda kullanım
$date = wpmcf_get_field( 'event', 'starts' ); // "2026-05-01" (string) or null
$time = wpmcf_get_field( 'event', 'doors_open' ); // "19:30:00"
if ( $date ) {
$moment = DateTimeImmutable::createFromFormat( 'Y-m-d H:i:s', $date . ' 00:00:00', wp_timezone() );
echo esc_html( wp_date( 'l, j F Y', $moment->getTimestamp() ) ); // Friday, 1 May 2026
}
wpmcf_the_field( 'event', 'starts' );
// With Display format "d/m/Y": <span class="wpmcf-field-value">01/05/2026</span>
// Without a format and a "F j, Y" site date format: May 1, 2026[wpmcf_field group="event" field="starts"]
[wpmcf_field group="event" field="starts_at" wrap="false"] → May 1, 2026 8:30 amSaklanan metin doğru sıralandığı için (2026-05-01 değeri 2026-05-02 değerinden önce gelir) PHP'de dize olarak karşılaştırabilir ve sorgularda filtreleyebilirsiniz. Geliştirici API'si bölümünde wpmcf_query_posts() işlevine bakın.
İçe aktarma
CSV içe aktarmaları yukarıdaki katı biçimleri ve ayrıca PHP'nin tarih ayrıştırıcısının anladığı her şeyi kabul eder (örneğin 1 May 2026 veya 05/01/2026); bunlar sitenizin saat diliminde okunur.
Sorun giderme
- Tarih yanlış biçimde yazdırılıyor. Display format ayarını yapın veya Settings › General içindeki tarih biçimini değiştirin.
- Tarayıcıda yazdığım tarih kaydedilmedi. Tarayıcılar
YYYY-MM-DDbiçiminde gönderir; değer kendi kodunuzdan geliyorsa aynı biçimi kullanın. - Gece yarısı 12:00 am olarak görünüyor. Bu, sitenin saat biçimidir. Display format için
H:igibi bir değer girin. - Yeni yazılarda Date and time alanı, "şimdi" istememe rağmen boş.
current_timestampsütun işlevini ayarlayın (satır oluşturulduğunda değeri doldurur) veya değeri kaydetme sırasında kodla belirleyin.
Hâlâ takıldınız mı? Destek ile iletişime geçin