我的代码基于下划线引用主题。我有一个posted_on
功能如下:
function example_posted_on() {
$time_string = \'<time class="entry-date published updated" datetime="%1$s">%2$s</time>\';
if ( get_the_time( \'U\' ) !== get_the_modified_time( \'U\' ) ) {
$time_string = \'<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>\';
}
$time_string = sprintf( $time_string,
esc_attr( get_the_date( \'c\' ) ),
esc_html( get_the_date() ),
esc_attr( get_the_modified_date( \'c\' ) ),
esc_html( get_the_modified_date() )
);
$posted_on = sprintf(
\' %s\',
$time_string
);
echo \'<span class="posted-on">\' . $posted_on . \'</span>\'; //WPCS: XSS OK.
}
结果是
example_posted_on()
仅正确显示发布日期。我的问题是:为什么要修改日期?如何才能显示修改后的日期,或者显示发布日期。
最合适的回答,由SO网友:Z. Zlatev 整理而成
仅当修改日期和发布日期不同时,此函数才应同时显示修改日期和发布日期。
if ( get_the_time( \'U\' ) !== get_the_modified_time( \'U\' ) ) {
$time_string = \'<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>\';
}
使用时间戳比较日期,如果不匹配,则将字符串格式设置为2
<time>
标签,否则它只是发布日期。