Make WordPress Core


Ignore:
Timestamp:
08/01/2014 06:39:22 PM (10 years ago)
Author:
wonderboymusic
Message:

Clarify that get_the_date(), get_the_time(), get_post_time() and get_post_modified_time() should return false when get_post() is null.

Adds unit tests.

Props GaryJ, SergeyBiryukov, tollmanz.
Fixes #28310.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/general-template.php

    r29244 r29344  
    17261726 * @param  string      $d    Optional. PHP date format defaults to the date_format option if not specified.
    17271727 * @param  int|WP_Post $post Optional. Post ID or WP_Post object. Default current post.
    1728  * @return string Date the current post was written.
     1728 * @return string|bool Date the current post was written. False on failure.
    17291729 */
    17301730function get_the_date( $d = '', $post = null ) {
    17311731    $post = get_post( $post );
     1732
     1733    if ( ! $post ) {
     1734        return false;
     1735    }
    17321736
    17331737    if ( '' == $d ) {
     
    18401844 *                          to the value specified in the time_format option. Default empty.
    18411845 * @param int|WP_Post $post WP_Post object or ID. Default is global $post object.
    1842  * @return string|int Formatted date string, or Unix timestamp.
     1846 * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
    18431847 */
    18441848function get_the_time( $d = '', $post = null ) {
    18451849    $post = get_post($post);
     1850
     1851    if ( ! $post ) {
     1852        return false;
     1853    }
    18461854
    18471855    if ( '' == $d )
     
    18741882 * @param int|WP_Post $post      WP_Post object or ID. Default is global $post object.
    18751883 * @param bool        $translate Whether to translate the time string. Default false.
    1876  * @return string|int Formatted date string, or Unix timestamp.
     1884 * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
    18771885 */
    18781886function get_post_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
    18791887    $post = get_post($post);
     1888
     1889    if ( ! $post ) {
     1890        return false;
     1891    }
    18801892
    18811893    if ( $gmt )
     
    19521964 * @since 2.0.0
    19531965 *
    1954  * @param string $d Optional, default is 'U'. Either 'G', 'U', or php date format.
    1955  * @param bool $gmt Optional, default is false. Whether to return the gmt time.
    1956  * @param int|object $post Optional, default is global post object. A post_id or post object
    1957  * @param bool $translate Optional, default is false. Whether to translate the result
    1958  * @return string Returns timestamp
     1966 * @param string      $d         Optional. Format to use for retrieving the time the post
     1967 *                               was modified. Either 'G', 'U', or php date format. Default 'U'.
     1968 * @param bool        $gmt       Optional. Whether to retrieve the GMT time. Default false.
     1969 * @param int|WP_Post $post      WP_Post object or ID. Default is global $post object.
     1970 * @param bool        $translate Whether to translate the time string. Default false.
     1971 * @return string|int|bool Formatted date string or Unix timestamp. False on failure.
    19591972 */
    19601973function get_post_modified_time( $d = 'U', $gmt = false, $post = null, $translate = false ) {
    19611974    $post = get_post($post);
     1975
     1976    if ( ! $post ) {
     1977        return false;
     1978    }
    19621979
    19631980    if ( $gmt )
Note: See TracChangeset for help on using the changeset viewer.