不知道有没有小朋友发现,weisaybox使用的过程中,如果一篇文章已经有了浏览次数,你更新或者修改了这个文章,那么它的浏览次数就会清零。虽然按逻辑来说,这个文章已经不是原来那个文章了,但是大部分博友的修改,都是小幅度的修改,文章本身还是那个文章,如果积累了浏览次数重置了,体验就打折了。
问了下豆包
原生 WordPress 本身,编辑保存文章,不会重置浏览次数。 编辑后阅读数清零,是浏览量统计插件的逻辑(WP-PostViews / Post Views Counter 这类),不是 WP 自带功能。

WP 的文章保存钩子,默认不会碰 post_meta 里的浏览数字; 但有部分老版统计插件,每次更新文章(post update)会重新生成 meta,直接覆盖成 0,尤其是经典的 WP-PostViews。
解决方法(等威兄更新,不知道是否会采纳)
用代码钩子,保存文章前强制保留旧阅读量,插件升级不受影响。放到主题的 functions.php末尾,这个代码作用:每次保存文章之前,从数据库读取原来的浏览量,强制写回去,不让它清零。
// 保存文章时保留浏览量,防止编辑后重置
add_action('pre_post_update', function($post_id){
// 排除自动草稿、修订版本
if (wp_is_post_autosave($post_id) || wp_is_post_revision($post_id)){
return;
}
// 获取数据库里保存的旧浏览数
$old_views = get_post_meta($post_id, 'views', true);
if($old_views !== ''){
update_post_meta($post_id, 'views', $old_views);
}
});
我自己还没动,影响不是特别大,等威兄研判是否要更新优化!
weisaybox主题在更新文章后,浏览次数清零:等您坐沙发呢!