在缓存的页面上显示PHP时间戳

时间:2018-07-27 20:43:56

标签: php wordpress caching timestamp

我正在使用我的标题横幅中包含一个php代码段

<?php include ('/time.php'); ?>

这是我从另一篇SE帖子中获得的代码:

<?php
    date_default_timezone_set('America/Chicago'); // timezone 

    $weekday = date(l); // today
    // print $weekday; // Debug
    // print date("H:i"); // debug

    // Set open and closing time for each day of the week
    if ($weekday != "Saturday" || $weekday != "Sunday") {
        $open_from = "07:00";
        $open_to = "24:00";
    }

    // now check if the current time is before or after opening hours
    if (date("H:i") < $open_from || date("H:i") > $open_to ) {
        print "House: We're closed for the day.";
    }

    else {
        print "Hours: We're open!";
    }
?>

当直接在浏览器中查看time.php时,它工作正常,但是在主页上,看起来好像缓存系统正在缓存文件生成的最后一条消息。例如,它将无限期地显示“我们已关闭”,直到我清除服务器上的缓存页面为止。

我必须重新设计此方法以使用AJAX吗?

或者,是由jQuery函数完成的,还是像PHP代码段的结果一样被简单缓存?

1 个答案:

答案 0 :(得分:0)

尝试

add_filter( 'wp_headers', $headers ) function() {
    return array_merge( $headers, wp_get_nocache_headers() );
} );

这将添加no缓存头:

'Expires' => 'Wed, 11 Jan 1984 05:00:00 GMT',
'Cache-Control' => 'no-cache, must-revalidate, max-age=0',
'Last-Modified'] = false,

发送到要发送的HTTP标头。