Current Time Gravity Forms Merge Tags

The built-in Gravity Forms merge tags include {date_mdy} and {date_dmy}, which are useful for setting the default values of Date fields, but there aren’t any for Time fields. This snippet adds three merge tags for that:

  • {current_hour}
  • {current_minute}
  • {current_am_pm}

Note that the server’s clock and site’s timezone setting are used, not the client’s.

Screenshot of Gravity Forms Time field merge tags

add_filter( 'gform_replace_merge_tags', 'djb_gform_replace_merge_tags', 10, 7 );
/**
* Replace custom merge tags.
*
* @link https://docs.gravityforms.com/gform_replace_merge_tags/
*
* @param string  $text Current text in which merge tags are being replaced.
* @param object  $form Current Form object.
* @param object  $entry Current Entry object.
* @param boolean $url_encode Whether or not to encode any URLs found in the replaced value.
* @param boolean $esc_html Whether or not to encode HTML found in the replaced value.
* @param boolean $nl2br Whether or not to convert newlines to break tags.
* @param string  $format Determines how the value should be formatted. Default is html.
* @return string Modified data.
*/
function djb_gform_replace_merge_tags( $text, $form, $entry, $url_encode, $esc_html, $nl2br, $format ) {
if ( strpos( $text, '{current_hour}' ) !== false ) {
$text = str_replace( '{current_hour}', current_time( 'g' ), $text );
}
if ( strpos( $text, '{current_minute}' ) !== false ) {
$text = str_replace( '{current_minute}', current_time( 'i' ), $text );
}
if ( strpos( $text, '{current_am_pm}' ) !== false ) {
$text = str_replace( '{current_am_pm}', current_time( 'A' ), $text );
}
return $text;
}

7 comments on “Current Time Gravity Forms Merge Tags

  1. This was exactly what I needed! Thanks so much! And thanks for the pointers into the documentation. I looked for this but missed it.

  2. Hi,

    Thank you so much for this snippet!

    How difficult would it be to show the hours in the 24hour format?

    Thanks in advance!

Leave a Reply

Your email address will not be published. Required fields are marked *