1

I using the below code to get modified data for the post, but I need to get the same modified post for my other custom posts. For example, it works if i change post to test( my custom post type name)"if( 'post' === get_post_type() )", but i need for both test, post and movies etc.

function et_last_modified_date_blog( $the_date ) {
    if ( 'post' === get_post_type() ) {
        $the_time = get_post_time( 'His' );
        $the_modified = get_post_modified_time( 'His' );

        $last_modified =  sprintf( __( 'Last updated %s', 'Divi' ), esc_html( get_post_modified_time( 'M j, Y' ) ) );
        $date = $the_modified !== $the_time ? $last_modified : get_post_time( 'M j, Y' );

        return $date;
    }
}
add_action( 'get_the_date', 'et_last_modified_date_blog' );
add_action( 'get_the_time', 'et_last_modified_date_blog' );

2 Answers 2

2

In your if statement just add more conditions like this.

function et_last_modified_date_blog( $the_date ) {
    if ( 'post' === get_post_type() || 'movies' === get_post_type() || 'etc' === get_post_type()) {
        $the_time = get_post_time( 'His' );
        $the_modified = get_post_modified_time( 'His' );

        $last_modified =  sprintf( __( 'Last updated %s', 'Divi' ), esc_html( get_post_modified_time( 'M j, Y' ) ) );
        $date = $the_modified !== $the_time ? $last_modified : get_post_time( 'M j, Y' );

        return $date;
    }
}
add_action( 'get_the_date', 'et_last_modified_date_blog' );
add_action( 'get_the_time', 'et_last_modified_date_blog' );

The "||" means OR. So the condition would read If post type equals post or movies or etc.

1

Another way is to use in_array. Also you do not return the original date if your check fails. See code below for fix.

function et_last_modified_date_blog( $the_date ) {
    // all post types were are checking for
    $post_types = array('post', 'movies');

    // check to see if current post type is in the $post_types array
    if (in_array(get_post_type(), $post_types)) {
        $the_time = get_post_time( 'His' );
        $the_modified = get_post_modified_time( 'His' );

        $last_modified =  sprintf( __( 'Last updated %s', 'Divi' ), esc_html( get_post_modified_time( 'M j, Y' ) ) );
        $date = $the_modified !== $the_time ? $last_modified : get_post_time( 'M j, Y' );

        return $date;
    }

    // NOTE: you should return the original date here in case your check "fails"
    return $the_date;
}
add_action( 'get_the_date', 'et_last_modified_date_blog' );
add_action( 'get_the_time', 'et_last_modified_date_blog' );
2
  • Thank you, this one worked for me ... Commented Apr 1, 2020 at 3:02
  • Great, glad this worked for you!
    – mikerojas
    Commented Apr 1, 2020 at 15:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.