wp_checkdate()
Перевіряє коректність дати за григоріанським календарем.
Ця обгортка для функції PHP checkdate() .
1 раз – 0.00002 сек
(дуже швидко) | 50000 разів – 0.10 сек
(швидкість світла)
(дуже швидко) | 50000 разів – 0.10 сек
(швидкість світла)
Хуки з функції
Повертає
true|false
. Логічний. true якщо дата є валідною, false інакше.
Використання
if( wp_checkdate( $month, $day, $year, $source_date ) ){ // перевірка пройдена, робимо щось }
-
$month
(число) (обов’язковий) - Номер місяця (1-12).
-
$day
(число) (обов’язковий) - Номер Дня (1-31).
-
$year
(число) (обов’язковий) - Рік.
-
$source_date
(рядок) (обов’язковий) -
Вихідна дата у якій перевіряються зазначені раніше рік/місяць/день. Вказується для передачі у фільтр. Наприклад
2008-10-24
Приклади
#1 Приклад із ядра WordPress
/* * Якщо дата не встановлена ( новий пост або чернетка ) * якщо не чернетка або дата змінилася в процесі написання. */ if ( empty( $postarr['post_date'] ) || '0000-00-00 00:00:00' == $postarr['post_date'] ) { $post_date = current_time( 'mysql'); } else { $post_date = $postarr['post_date']; } // Валідація дати. $ mm = substr ($ post_date, 5, 2); $ jj = substr ($ post_date, 8, 2); $ aa = substr ($ post_date, 0, 4); $valid_date = wp_checkdate($mm, $jj, $aa, $post_date); if (! $valid_date) { if ( $wp_error ) { //Вказана дата некоректна. return new WP_Error( 'invalid_date', __( 'Whoops, the provided date is invalid.' ) ); } else { return 0; } }
#2 Ще один приклад з ядра WordPress
if ( get_query_var( 'day' ) && get_query_var( 'monthnum' ) && get_query_var( 'year' ) ) { $year = get_query_var( 'year' ); $month = get_query_var( 'monthnum'); $ day = get_query_var ( 'day'); $date = sprintf( '%04d-%02d-%02d', $year, $month, $day); if ( ! wp_checkdate( $month, $day, $year, $date ) ) { $ redirect_url = get_month_link ($ year, $ month); } }
список змін
З версії 3.5.0 | Введено. |
Код wp_checkdate() wp checkdate WP 6.0.2
function wp_checkdate( $month, $day, $year, $source_date ) { /** * Filters whether given date is valid for the Gregorian calendar. * * @ Since 3.5.0 * * @param bool $checkdate Коли ви маєте дійсний термін. * @param string $source_date Date to check. */ return apply_filters( 'wp_checkdate', checkdate( $month, $day, $year ), $source_date ); }