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.

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


Top ↑

Return

(string|WP_Error)


Top ↑

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 );
		}

Top ↑

Changelog

Changelog
Version Description
4.6.20 Introduced.