wordpress如何顯示「修改文章次數」「最後一次修改時間」? - 大佬论坛
网站指南
商家中心
域名市场
开源码桶
实用工具
搜索
登录
注册
显示禁闭内容
是否对公众显示此内容
wordpress如何顯示「修改文章次數」「最後一次修改時間」?
十年_ejsoon
(
UID:
3308)
2023-6-11
[复制链接]
帖子链接已复制到剪贴板
帖子已经有人评论啦,不支持删除!
1606
5
如題。
如果找不到插件,我可能要學一下wordpress的數據庫操作。
这家伙太懒了,什么也没留下。
收藏
投币
×
给楼主投上
1
枚硬币
1硬币
2硬币
确定
当前您的硬币余额:0
评论加载中...
已有评论
(
5
)
只看楼主
倒序
十年_ejsoon
(
UID:
3308)
楼主
2023-6-11
1
楼
找到了這個插件,https://wordpress.org/plugins/wp-last-modified-info/
但它只能顯示「最後修改時間」,並不能顯示「全部修改次數」。
看來,如果掌握了wordpress的數據庫操作,就不必總是去找插件了。
十年_ejsoon
(
UID:
3308)
楼主
2023-6-11
2
楼
因此,我決定還是去學一下wordpress的數據庫操作讀取。
十年_风记星辰
(
UID:
3059)
2023-6-15
3
楼
你可以使用WordPress自带的函数get_the_modified_time()和get_post_meta()来获取「修改文章次数」和「最后一次修改时间」。
其中,get_the_modified_time()可以用于获取文章的最后修改时间。默认情况下,它会显示完整的日期时间格式,但你可以通过传递一个格式化字符串来指定日期时间的显示形式。示例如下:
最后更新时间:<?php echo get_the_modified_time('Y-m-d H:i:s'); ?>
在上述代码中,我们使用get_the_modified_time()函数获取文章的最后修改时间,并指定其显示格式为「年-月-日 时:分:秒」。
而要获取「修改文章次数」,可以使用get_post_meta()函数来获取文章元数据中的「_edit_lock」和「_edit_last」字段。其中,「_edit_lock」保存了最后一次编辑的时间戳,而「_edit_last」保存了最后一次编辑的用户ID。如果两个字段的值相同,则说明这两次编辑之间没有其他用户进行过编辑,因此可以将次数视为1;否则,可以认为编辑次数等于用户ID出现的次数。示例如下:
<?php
$post_id = get_the_ID();
$lock_time = get_post_meta($post_id, '_edit_lock', true);
$last_user = get_post_meta($post_id, '_edit_last', true);
$edit_count = count(explode(',', $last_user));
if (empty($lock_time)) {
$edit_count = 0;
} elseif (time() - $lock_time <= 60) {
$edit_count++;
}
echo "修改文章次数:{$edit_count} 次";
?>
在上述代码中,我们首先获取当前文章的ID。然后,使用get_post_meta()函数分别获取「_edit_lock」和「_edit_last」字段的值,并计算编辑次数。具体而言:
如果「_edit_lock」为空,则说明文章没有进行过修改,此时将编辑次数设置为0;
否则,我们通过count()函数和explode()函数计算用户ID在「_edit_last」中出现的次数,从而得到总的编辑次数;
最后,我们还需要判断当前是否处于编辑状态。如果距离最后一次编辑时间不足60秒,则说明文章仍处于被编辑状态,此时需要将编辑次数加1。
将上述代码放入文章页面模板中,即可在页面中显示「修改文章次数」和「最后一次修改时间」。
十年_风记星辰
(
UID:
3059)
2023-6-15
4
楼
上述为gpt回答,未经测试,酌情使用。
十年_ejsoon
(
UID:
3308)
楼主
2023-6-15
5
楼
风记星辰
上述为gpt回答,未经测试,酌情使用。
感謝!給我提供了不少思路!
您还未登录
想参与评论?
登录后即可发表评论、回复等操作。
登录
注册账号
域名市场
域名载入中...
创建新帖
十年_ejsoon
UID:3308
113
主题数
959
评论数
0
粉丝数
自助推广
购买广告位
×
帖子
用户
Google
Bing
搜索历史
清空
猜你想搜
加载中...