我正在使用一些PHP来显示上次使用get_the_time
和get_the_modified_time
函数在WordPress上更新博客文章的时间。但是,我无法获得最后修改时间在段落中显示内联。
<?php
$x = get_the_time('U');
$m = get_the_modified_time('U');
if ($m != $x) {
$t = the_modified_time('F d, Y');
echo "<p class=\"lastupdated\">Updated on $t </p>";
}
?>
以下是结果的屏幕截图:
答案 0 :(得分:3)
the_modified_time
打印上次修改时间,因此在您打印<p>
之前将其打印出来。
相反,您需要使用get_the_modified_time
来设置$t
,如下所示:
$t = get_the_modified_time('F d, Y');
答案 1 :(得分:0)
这可能是因为这些函数不直接返回结果而是返回echo
。因此,你必须在你需要的地方打电话给他们。
答案 2 :(得分:0)
<?php
$x = get_the_time('U');
$m = get_the_modified_time('U');
if ($m != $x) {
echo "<p class=\"lastupdated\">Updated on ".the_modified_time('F d, Y')."</p>";
}
?>
答案 3 :(得分:0)
您还可以通过此代码将帖子的最后修改时间放在循环中的任意位置。
Posted on <?php the_time('F jS, Y') ?>
<?php $u_time = get_the_time('U');
$u_modified_time = get_the_modified_time('U');
if($u_modified_time != $u_time) {
echo "and last modified on ";
the_modified_time('F jS, Y');
echo ". ";
} ?>
答案 4 :(得分:0)
这是基于上述注释的完整代码。现在它可以工作了,您只需将其添加到您的帖子模板中即可:
代码段 (1)
<?php
$x = get_the_time('U');
$m = get_the_modified_time('U');
if ($m != $x) {
$t = get_the_modified_time('F d, Y');
echo "<p class=\"lastupdated\">Updated on $t </p>";
}
?>
例如,假设您的帖子模板名为 content-post.php
。查找如下所示的部分:
代码段 (2)
// Post date
if ( in_array( 'post-date', $post_meta_top ) ) : ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_time( get_option( 'date_format' ) ); ?></a>
<?php endif;
在代码段 (1) 的结束标记之前插入代码段 (2),如下所示:
<?php
// Post date
if ( in_array( 'post-date', $post_meta_top ) ) : ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_time( get_option( 'date_format' ) ); ?></a>
<?php
$x = get_the_time('U');
$m = get_the_modified_time('U');
if ($m != $x) {
$t = get_the_modified_time('F d, Y');
echo "<p class=\"lastupdated\">Updated on $t </p>";
}
?>
<?php endif;
现在,您将获得原始发布日期和更新后的发布日期。特别感谢@Sebastian Paaske Tørholm 的评论。