get\\u修改日期应该符合您的要求。我猜您可能在使用sprintf语法方面有点困难。
$date = sprintf( \'<span>\' . __( \'Posted\', \'theme\' ) . \' <a href="%3$s"><time class="entry-date" datetime="%1$s">%2$s</time></a></span>\',
esc_attr( get_the_date( \'c\' ) ),
esc_html( time_ago() ),
esc_html( get_day_link( get_the_date(\'Y\'), get_the_date(\'m\'), get_the_date(\'d\') ) )
);
让我们把它分解一下:
sprintf参数1-带占位符的字符串
sprintf( \'<span>\' . __( \'Posted\', \'theme\' ) . \' <a href="%3$s"><time class="entry-date" datetime="%1$s">%2$s</time></a></span>\',
这是将要构建的主字符串。它有3个占位符。然而,它们是按非传统顺序排列的。
链接(<a href=%3$s
) 变量#3有一个占位符,一个字符串datetime=%1$s), 它是使时间机器可读的HTML时间元素的一部分(对于高级功能很有用,如果时间元素包含的不仅仅是实际时间),它有一个占位符作为变量#1,一个字符串最后是显示的时间(>%2$s</time>
) 正在查找变量#2,一个字符串
sprintf参数2、3和4-这3个变量的值在以下函数参数中提供(同样,不是按照使用顺序):
esc_attr( get_the_date( \'c\' ) ),
esc_html( time_ago() ),
esc_html( get_day_link( get_the_date(\'Y\'), get_the_date(\'m\'), get_the_date(\'d\') ) )
Thefirst, 输入datetime=属性的是获取帖子的发布日期并以“c”格式输出,这是一种标准日期格式,类似于20019-03-27T15:19:21+00:00。这个second, 它是显示的时间,正在引用一个我无法识别的函数,名为time\\u ago()。
这个third, 用于链接href=,根据帖子的发布日期生成链接。
因此,要正确更改日期并仍然使用该函数,我们应该调整所有3个参数。
$date = sprintf( \'<span>\' . __( \'Posted\', \'theme\' ) . \' <a href="%3$s"><time class="entry-date" datetime="%1$s">%2$s</time></a></span>\',
esc_attr( get_the_modified_date( \'c\' ) ),
esc_html( get_the_modified_date(),
esc_url( get_day_link( get_the_modified_date(\'Y\'), get_the_modified_date(\'m\'), get_the_modified_date(\'d\') ) )
);
注意,我将第三个参数更改为esc\\u url,因为它是正在生成的url,并且可以通过传入PHP日期格式选项来调整输出日期的显示,例如get\\u the\\u modified\\u date(\'m-d-Y\')最后,所有这些都以HTML形式存储在$date变量中,因此在完成之前,请确保将其实际回显到页面。