wordpress如何顯示「修改文章次數」「最後一次修改時間」?

十年_ejsoon  (UID: 3308) [复制链接]
帖子链接已复制到剪贴板
帖子已经有人评论啦,不支持删除!

1609 5

如題。

如果找不到插件,我可能要學一下wordpress的數據庫操作。

这家伙太懒了,什么也没留下。
已有评论 ( 5 )
  • 头像
    十年_ejsoon (UID: 3308)
    1楼
    找到了這個插件,https://wordpress.org/plugins/wp-last-modified-info/

    但它只能顯示「最後修改時間」,並不能顯示「全部修改次數」。

    看來,如果掌握了wordpress的數據庫操作,就不必總是去找插件了。
  • 头像
    十年_ejsoon (UID: 3308)
    2楼
    因此,我決定還是去學一下wordpress的數據庫操作讀取。
  • 头像
    十年_风记星辰 (UID: 3059)
    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)
    4楼
    上述为gpt回答,未经测试,酌情使用。
  • 头像
    十年_ejsoon (UID: 3308)
    5楼
    风记星辰 上述为gpt回答,未经测试,酌情使用。
    感謝!給我提供了不少思路!
域名市场
   域名载入中...
创建新帖
自助推广购买广告位
确认删除
确定要删除这篇帖子吗?删除后将无法恢复。
删除成功
帖子已成功删除,页面将自动刷新。
删除失败
删除帖子时发生错误,请稍后再试。