touch_time() WordPress Function
This function allows you to modify the timestamp of a post or page. This is useful if you need to change the time of a post, but don't want to change the date.
touch_time( int|bool $edit = 1, int|bool $for_post = 1, int $tab_index, int|bool $multi ) #
Prints out HTML form date elements for editing post or comment publish date.
Parameters
- $edit
(int|bool)(Optional)Accepts 1|true for editing the date, 0|false for adding the date.
Default value: 1
- $for_post
(int|bool)(Optional)Accepts 1|true for applying the date to a post, 0|false for a comment.
Default value: 1
- $tab_index
(int)(Required)The tabindex attribute to add. Default 0.
- $multi
(int|bool)(Optional) Whether the additional fields and buttons should be added. Default 0|false.
Source
File: wp-admin/includes/template.php
792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 | function touch_time( $edit = 1, $for_post = 1, $tab_index = 0, $multi = 0 ) { global $wp_locale ; $post = get_post(); if ( $for_post ) { $edit = ! ( in_array( $post ->post_status, array ( 'draft' , 'pending' ), true ) && ( ! $post ->post_date_gmt || '0000-00-00 00:00:00' === $post ->post_date_gmt ) ); } $tab_index_attribute = '' ; if ( (int) $tab_index > 0 ) { $tab_index_attribute = " tabindex=\"$tab_index\"" ; } // @todo Remove this? // echo '<label for="timestamp" style="display: block;"><input type="checkbox" class="checkbox" name="edit_date" value="1" id="timestamp"'.$tab_index_attribute.' /> '.__( 'Edit timestamp' ).'</label><br />'; $post_date = ( $for_post ) ? $post ->post_date : get_comment()->comment_date; $jj = ( $edit ) ? mysql2date( 'd' , $post_date , false ) : current_time( 'd' ); $mm = ( $edit ) ? mysql2date( 'm' , $post_date , false ) : current_time( 'm' ); $aa = ( $edit ) ? mysql2date( 'Y' , $post_date , false ) : current_time( 'Y' ); $hh = ( $edit ) ? mysql2date( 'H' , $post_date , false ) : current_time( 'H' ); $mn = ( $edit ) ? mysql2date( 'i' , $post_date , false ) : current_time( 'i' ); $ss = ( $edit ) ? mysql2date( 's' , $post_date , false ) : current_time( 's' ); $cur_jj = current_time( 'd' ); $cur_mm = current_time( 'm' ); $cur_aa = current_time( 'Y' ); $cur_hh = current_time( 'H' ); $cur_mn = current_time( 'i' ); $month = '<label><span class="screen-reader-text">' . __( 'Month' ) . '</span><select class="form-required" ' . ( $multi ? '' : 'id="mm" ' ) . 'name="mm"' . $tab_index_attribute . ">\n" ; for ( $i = 1; $i < 13; $i = $i + 1 ) { $monthnum = zeroise( $i , 2 ); $monthtext = $wp_locale ->get_month_abbrev( $wp_locale ->get_month( $i ) ); $month .= "\t\t\t" . '<option value="' . $monthnum . '" data-text="' . $monthtext . '" ' . selected( $monthnum , $mm , false ) . '>' ; /* translators: 1: Month number (01, 02, etc.), 2: Month abbreviation. */ $month .= sprintf( __( '%1$s-%2$s' ), $monthnum , $monthtext ) . "</option>\n" ; } $month .= '</select></label>' ; $day = '<label><span class="screen-reader-text">' . __( 'Day' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="jj" ' ) . 'name="jj" value="' . $jj . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" /></label>' ; $year = '<label><span class="screen-reader-text">' . __( 'Year' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="aa" ' ) . 'name="aa" value="' . $aa . '" size="4" maxlength="4"' . $tab_index_attribute . ' autocomplete="off" class="form-required" /></label>' ; $hour = '<label><span class="screen-reader-text">' . __( 'Hour' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="hh" ' ) . 'name="hh" value="' . $hh . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" /></label>' ; $minute = '<label><span class="screen-reader-text">' . __( 'Minute' ) . '</span><input type="text" ' . ( $multi ? '' : 'id="mn" ' ) . 'name="mn" value="' . $mn . '" size="2" maxlength="2"' . $tab_index_attribute . ' autocomplete="off" class="form-required" /></label>' ; echo '<div class="timestamp-wrap">' ; /* translators: 1: Month, 2: Day, 3: Year, 4: Hour, 5: Minute. */ printf( __( '%1$s %2$s, %3$s at %4$s:%5$s' ), $month , $day , $year , $hour , $minute ); echo '</div><input type="hidden" id="ss" name="ss" value="' . $ss . '" />' ; if ( $multi ) { return ; } echo "\n\n" ; $map = array ( 'mm' => array ( $mm , $cur_mm ), 'jj' => array ( $jj , $cur_jj ), 'aa' => array ( $aa , $cur_aa ), 'hh' => array ( $hh , $cur_hh ), 'mn' => array ( $mn , $cur_mn ), ); foreach ( $map as $timeunit => $value ) { list( $unit , $curr ) = $value ; echo '<input type="hidden" id="hidden_' . $timeunit . '" name="hidden_' . $timeunit . '" value="' . $unit . '" />' . "\n" ; $cur_timeunit = 'cur_' . $timeunit ; echo '<input type="hidden" id="' . $cur_timeunit . '" name="' . $cur_timeunit . '" value="' . $curr . '" />' . "\n" ; } ?> <p> <a href= "#edit_timestamp" class = "save-timestamp hide-if-no-js button" ><?php _e( 'OK' ); ?></a> <a href= "#edit_timestamp" class = "cancel-timestamp hide-if-no-js button-cancel" ><?php _e( 'Cancel' ); ?></a> </p> <?php } |
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.4.0 | Converted to use get_comment() instead of the global $comment . |
0.71 | Introduced. |