我正在编辑模板标签中的代码,以显示WordPress网站上的最后修改日期,我的意思是,如果我更新帖子,则它应该有条件地显示更新,并忽略“已发布”,如果不这样做,则应该保持原状。
我成功了,我遇到的问题是我的所有帖子上都出现了“ Published On”:http://prntscr.com/nn9hfl,这是到目前为止的代码
function chicken_wings_posted_on() {
/**
* Function to show last updated date
*/
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo '<p class = "last-updated-up">Last updated on ';
the_modified_time('F jS, Y');
echo "</p> "; }
else {
echo '<p class = "entry-date published">Published on ';
the_time('F jS, Y');
echo "</p> "; }
$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(
/* translators: %s: post date. */
esc_html_x( 'Published on %s', 'post date', 'chicken-wings' ),
'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
);
我希望只有在帖子更新的情况下,结果才会显示更新日期
我可以发现问题出在$ posted_on = sprintf()之间,并且可以看到实际日期中包含永久链接,如果发布更新,我该如何纠正代码以将永久链接包含在更新日期中,以及实际日期(如果未更新)。
谢谢。
答案 0 :(得分:0)
我已将您的代码重新格式化以显示发布日期和有条件的更新日期。另外,我为发布日期和更新日期添加了正确的链接。请检查以下内容。
function chicken_wings_posted_on() {
$u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if ($u_modified_time >= $u_time + 86400) {
echo '<p class="last-updated-up">Last updated on ';
echo '<a href="' . esc_url( get_day_link( get_the_modified_time( 'Y' ), get_the_modified_time( 'm' ), get_the_modified_time( 'd' ) ) ) . '">';
the_modified_time('F jS, Y');
echo '</a>';
echo "</p> ";
} else {
echo '<p class="entry-date published">Published on ';
echo '<a href="' . esc_url( get_day_link( false, false, false ) ) . '">';
the_time('F jS, Y');
echo '</a>';
echo "</p> ";
}
}