
WordPress(RiPro主题)文章页纠正发布时间的格式及时区差
WordPress(RiPro主题)文章页发布后显示为“xx秒前”,为了符合百度优化规则需要改成 (年-月-日 时:分:秒)格式。
解决办法一
找到WordPress/wp-content/themes/ripro/inc目录,修改theme-functions.php文件把以下代码(大约在2062行):
function _timeago($time) { $time = strtotime($time); $difference = time() - $time; if (!_cao('post_is_timeago', '1')) { return date('Y-m-d', $time); } switch ($difference) { case $difference <= '1': $msg = '刚刚'; break; case $difference > '1' && $difference <= '60': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '60' && $difference <= '3600': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '3600' && $difference <= '86400': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '86400' && $difference <= '2592000': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '2592000': $msg = '' . date('Y-m-d', $time) . ''; break; } return $msg; }
更改为:
function _timeago($time) { $time = strtotime($time); $difference = time() - $time; if (!_cao('post_is_timeago', '1')) { return date('Y-m-d', $time); } switch ($difference) { case $difference >= '1': $msg = '' . date('Y-m-d H:i:s', $time+28800) . ''; break; } return $msg; }
解决办法二
找到WordPress/wp-content/themes/ripro/inc目录,修改theme-functions.php文件
代码1111行
原代码:
function _get_post_time() { // return (time() - strtotime(get_the_time('Y-m-d'))) > 86400 ? get_the_date() : get_the_time(); return _timeago(get_gmt_from_date(get_the_time('Y-m-d G:i:s'))); }
修改成:
function _get_post_time() { return (time() - strtotime(get_the_time('Y-m-d G:i:s'))) > 86400 ? get_the_date('Y-m-d G:i:s') : get_the_time('Y-m-d G:i:s'); //return _timeago(get_gmt_from_date(get_the_time('Y-m-d G:i:s'))); }
解决办法三
找到WordPress/wp-content/themes/ripro/inc目录,修改theme-functions.php文件
代码1111行
原代码:
function _get_post_time() { // return (time() - strtotime(get_the_time('Y-m-d'))) > 86400 ? get_the_date() : get_the_time(); return _timeago(get_gmt_from_date(get_the_time('Y-m-d G:i:s'))); }
修改成:
function _get_post_time() { return _timeago(get_the_time('Y-m-d G:i:s')); }
把以下代码(大约在2062行):
function _timeago($time) { $time = strtotime($time); $difference = time() - $time; if (!_cao('post_is_timeago', '1')) { return date('Y-m-d', $time); } switch ($difference) { case $difference <= '1': $msg = '刚刚'; break; case $difference > '1' && $difference <= '60': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '60' && $difference <= '3600': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '3600' && $difference <= '86400': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '86400' && $difference <= '2592000': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; case $difference > '2592000': $msg = '' . date('Y-m-d', $time) . ''; break; } return $msg; }
更改为:
function _timeago($time) { $time = strtotime($time); $difference = time() - $time; if (!_cao('post_is_timeago', '1')) { return date('Y-m-d', $time); } switch ($difference) { case $difference >= '1': $msg = '' . date('Y-m-d H:i:s', $time) . ''; break; } return $msg; }
最后在刷新文章页,显示的就是时间精确到秒的2021-04-08 11:11:19格式了。而且前台显示时间从提前8小时变为正常!!!
注:
get_gmt_from_date( string $string, string $format = ‘Y-m-d H:i:s’ )
给定站点时区中的日期,以UTC时区返回该日期。 Given a date in the timezone of the site, returns that date in UTC timezone.
说明(Description)
需要并返回Y-m-d H:i:s格式的日期。可以使用$format参数重写返回格式。
参数(Parameters)
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
$string | (string) | 必需 | 要转换的日期,在站点的时区中。 |
$format | (string) | 可选 | 返回日期的格式字符串。 |
返回(Return)
(string)日期的格式化版本,以UTC时区为单位。
get_the_time
apply_filters( ‘get_the_time’, string $the_time, string $format, int|WP_Post $post )
参数(Parameters)
参数 | 类型 | 说明 |
---|---|---|
$the_time | (string) | 格式化时间。 |
$format | (string) | 用于检索邮件写入时间的格式。接受“时间格式”选项中指定的“G”、“U”或PHP日期格式值。默认为空。 |
$post | (int | WP_Post) | WP_Post对象或ID。 |
学习WP函数的网站
暂无评论,281人围观