重点提醒:任何修改主题代码的操作前,必须做这两个备份,不然出错后恢复难度大。
ZBlog默认没有点赞数字段,需要手动添加一个到zbp_post表(ZBlog文章表),步骤如下:
如果后台没有【SQL命令执行插件】,先安装:
启用后执行添加字段的SQL:
验证是否添加成功:后台左侧菜单【系统设置】→ 【数据库管理】→ 找到zbp_post表 → 点击【查看字段】→ 能看到log_Likes字段,默认值0,类型INT(11),就成功了。
用FileZilla连接网站空间,进入/zb_users/theme/你的当前主题名/template/目录,找到post-single.php(这是单篇文章的核心展示模板,大部分原生主题都是这个文件名,如果没有,找带single或article字样的php文件)。
右键点击post-single.php → 【下载】到本地 → 用专业的代码编辑器(推荐VS Code,下载地址:https://code.visualstudio.com/)打开,不要用记事本(会破坏编码)。

找文章标题、发布时间、分类、阅读数附近的代码位置(比如阅读数代码后面),插入下面的代码块:
```html注意:如果你的主题有专门的CSS文件(比如style.css),可以把style属性里的内容移到style.css的这样更规范,这里为了无门槛操作,直接内嵌了样式,颜色、间距可以根据自己的主题风格修改数值。
继续在post-single.php文件里找
标签(在文件最后面),在标签之前插入下面的代码块:
```javascript ```
在/zb_system/ajax/目录下创建一个新文件,命名为article_like.php,步骤如下:
```php 0, 'msg' => '参数错误', 'data' => 0 ); // 检查文章ID是否有效 if($article_id > 0){ // 获取文章对象 $article = $zbp->GetPostByID($article_id); if($article && $article->ID > 0){ // 检查同IP是否已经点赞过 $like_session_key = 'liked_' . $article_id; if(!isset($_SESSION[$like_session_key])){ // 点赞数加1 $article->log_Likes += 1; // 保存文章对象到数据库 $article->Save(); // 标记会话 $_SESSION[$like_session_key] = true; // 更新返回结果 $result['code'] = 1; $result['msg'] = '点赞成功'; $result['data'] = $article->log_Likes; }else{ $result['code'] = 0; $result['msg'] = '您已经点赞过这篇文章了'; $result['data'] = $article->log_Likes; } }else{ $result['code'] = 0; $result['msg'] = '文章不存在'; } } // 输出JSON格式的返回结果 echo json_encode($result); // 终止脚本 exit; ?> ```
说明:这里用了PHP会话(Session)来防止同IP在当前浏览器会话期间重复点赞,如果你想要无限点赞,可以删除代码中“开启会话”到“标记会话”之间的所有代码,包括对应的判断逻辑。
在FileZilla本地窗口找到刚才修改过的post-single.php → 右键点击 → 选择【上传】→ 覆盖网站空间上的原文件(点击【确认覆盖】)。
检查两个地方:
```html ```
检查文章ID的获取是否正确:打开单篇文章的页面源代码 → 找到like-btn-开头的按钮ID,看后面的数字是否和这篇文章的后台ID一致(后台文章列表可以看到每篇文章的ID)。
检查log_Likes字段是否添加成功,以及article_like.php文件里的文章保存代码是否正确执行($article->Save();这一行不能丢)。
易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图