Tribe__Events__API::sanitize_hour_meta_value( string $value, bool $twelve_hour = false )
Sanitize a string to be used as an event hour post meta value: 1-12 if Event{Start|End}Meridian is also passed, else 0-23.
Contents
Use this prior to sending value to the database.
Parameters
- $value
-
(string) (Required) The post meta value to be checked, such as '07'.
- $twelve_hour
-
(bool) (Optional) If false, allow 0-23. If true, only allow 1-12.
Default value: false
Return
(string|WP_Error)
Source
File: src/Tribe/API.php
public static function sanitize_hour_meta_value( $value, $twelve_hour = false ) {
$value = (string) $value;
if ( ! is_numeric( $value ) ) {
$error_message = sprintf(
esc_html__( 'An event having a post meta value of `%s` hour (am/pm) is not valid. Make sure it is from 1 to 12.', 'the-events-calendar' ),
$value
);
return new WP_Error( 'non-numeric-tribe-events-hour-meta-value', $error_message );
}
$new_value = absint( $value );
if (
$twelve_hour
&& (
$new_value < 1
|| $new_value > 12
)
) {
$error_message = sprintf(
esc_html__( 'An event having a post meta value of `%s` hour (12-hour) is not valid. Make sure it is from 1 to 12.', 'the-events-calendar' ),
$value
);
return new WP_Error( 'invalid-tribe-events-12-hour-meta-value', $error_message );
} elseif ( $new_value > 23 ) {
$error_message = sprintf(
esc_html__( 'An event having a post meta value of `%s` hour (24-hour) is not valid. Make sure it is from 0 to 23.', 'the-events-calendar' ),
$value
);
return new WP_Error( 'invalid-tribe-events-24-hour-meta-value', $error_message );
}
return str_pad( $new_value, 2, '0', STR_PAD_LEFT );
}
Changelog
| Version | Description |
|---|---|
| 4.6.20 | Introduced. |