diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 6ee29a84e9..0a8e1a0ccc 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -21,7 +21,7 @@ require( ABSPATH . WPINC . '/option.php' ); * @param string $format Format of the date to return. * @param string $date Date string to convert. * @param bool $translate Whether the return date should be translated. Default true. - * @return string|int Formatted date string, or Unix timestamp. + * @return string|int|bool Formatted date string or Unix timestamp. False if $date is empty. */ function mysql2date( $format, $date, $translate = true ) { if ( empty( $date ) ) diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php index 8233871da4..61665ad5af 100644 --- a/wp-includes/general-template.php +++ b/wp-includes/general-template.php @@ -1725,11 +1725,15 @@ function the_date( $d = '', $before = '', $after = '', $echo = true ) { * * @param string $d Optional. PHP date format defaults to the date_format option if not specified. * @param int|WP_Post $post Optional. Post ID or WP_Post object. Default current post. - * @return string Date the current post was written. + * @return string|bool Date the current post was written. False on failure. */ function get_the_date( $d = '', $post = null ) { $post = get_post( $post ); + if ( ! $post ) { + return false; + } + if ( '' == $d ) { $the_date = mysql2date( get_option( 'date_format' ), $post->post_date ); } else { @@ -1839,11 +1843,15 @@ function the_time( $d = '' ) { * was written. Either 'G', 'U', or php date format defaults * to the value specified in the time_format option. Default empty. * @param int|WP_Post $post WP_Post object or ID. Default is global $post object. - * @return string|int Formatted date string, or Unix timestamp. + * @return string|int|bool Formatted date string or Unix timestamp. False on failure. */ function get_the_time( $d = '', $post = null ) { $post = get_post($post); + if ( ! $post ) { + return false; + } + if ( '' == $d ) $the_time = get_post_time(get_option('time_format'), false, $post, true); else @@ -1873,11 +1881,15 @@ function get_the_time( $d = '', $post = null ) { * @param bool $gmt Optional. Whether to retrieve the GMT time. Default false. * @param int|WP_Post $post WP_Post object or ID. Default is global $post object. * @param bool $translate Whether to translate the time string. Default false. - * @return string|int Formatted date string, or Unix timestamp. + * @return string|int|bool Formatted date string or Unix timestamp. False on failure. */ function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) { $post = get_post($post); + if ( ! $post ) { + return false; + } + if ( $gmt ) $time = $post->post_date_gmt; else @@ -1951,15 +1963,20 @@ function get_the_modified_time($d = '') { * * @since 2.0.0 * - * @param string $d Optional, default is 'U'. Either 'G', 'U', or php date format. - * @param bool $gmt Optional, default is false. Whether to return the gmt time. - * @param int|object $post Optional, default is global post object. A post_id or post object - * @param bool $translate Optional, default is false. Whether to translate the result - * @return string Returns timestamp + * @param string $d Optional. Format to use for retrieving the time the post + * was modified. Either 'G', 'U', or php date format. Default 'U'. + * @param bool $gmt Optional. Whether to retrieve the GMT time. Default false. + * @param int|WP_Post $post WP_Post object or ID. Default is global $post object. + * @param bool $translate Whether to translate the time string. Default false. + * @return string|int|bool Formatted date string or Unix timestamp. False on failure. */ function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translate = false ) { $post = get_post($post); + if ( ! $post ) { + return false; + } + if ( $gmt ) $time = $post->post_modified_gmt; else