在Wordpress中添加一天到get_the_date

时间:2015-01-13 12:20:10

标签: php mysql wordpress

在WPTouch主题中,发布日期以大气泡显示。但是,帖子是在前一天晚上添加的,所以这一天落后于一天。为了解决这个问题,我更改了这一行:

<?php wptouch_the_time( 'j' ); ?>

到此:

    <?php
            $date = DateTime::createFromFormat('m-d-Y', mysql2date('m-d-Y', $post->post_date));
            $date->modify('+1 day');
            echo $date->format('j');
    ?>

这很有效,但是很难看。我认为应该有更好的方法从mysql日期到php DateTime。

3 个答案:

答案 0 :(得分:3)

您可以使用此filter修改日期,然后使用函数get_the_date()wptouch_the_time()最有可能用于获取日期)给主题:

add_filter( 'get_the_date', 'modify_get_the_date', 10, 3 );
function modify_get_the_date( $value, $format, $post ) {
    $date = new DateTime( $post->post_date );
    $date->modify( "+1 day" );
    if ( $format == "" )
        $format = get_option( "date_format" );
    return( $date->format( $format ) );
}

话虽如此,不是修改从数据库中读取日期,而是在编写发布日期时存储日期会更好。您可以通过安排第二天的帖子来完成此操作,而不是直接发布。

答案 1 :(得分:0)

您可以做到

<?php
$date=date_create();
date_modify($date,"+1 month");
echo date_format($date,"Y-m-d");
?>

答案 2 :(得分:0)

我一直这样做的方法是使用方法

<?php 
$format = ""; // your date format
$oneDayLater = strtotime("+1 day", strtotime($columnValue));
$out = date($format, $oneDayLater);
?>