很多使用子比主题建站的站长,希望在文章详情页面增加一键复制全文的功能。本期分享一段功能代码,可以在文章页顶部左侧添加复制全文按钮,鼠标悬浮会出现 tooltip 悬浮提示【复制全文】。直接调用子比主题自带的 notyf 消息弹窗函数,复制成功、复制失败都可以弹出对应的提示;如果你站点已经做过弹窗美化,该提示依旧可以正常适配使用。
效果预览

部署完成之后,文章详情页的文章元信息区域(发布时间、阅读量那一行)的最左侧新增复制全文按钮;按钮使用 font‑awesome 复制图标,鼠标悬浮显示 “复制全文” 悬浮提示。点击按钮一键复制整篇文章正文内容,复制成功弹出绿色成功提示;复制异常的时候弹出红色错误提示,无需额外引入弹窗 JS。
部署前重要提醒
1、优先推荐新建 func.php 自定义功能文件存放代码,可以避免升级子比主题的时候代码被覆盖。
2、如果直接粘贴到 func.php,文件最顶部务必保留 <?php。
3、如果写到父主题的 functions.php 里面,主题升级之后代码会直接丢失。
4、粘贴保存完成之后,清理 WordPress 站点缓存、CDN 缓存以及浏览器缓存再测试功能。
5、请勿重复粘贴同一段 PHP 代码,重复添加会造成网站 500 报错。
部署 PHP 功能代码
可以选择新建 func.php 自定义功能文件,或者使用 Code‑Snippets 代码片段插件;也可以放置在子主题的 functions.php 里面;不要直接修改原版父主题核心文件。将下面完整 PHP 代码粘贴进去保存。
自定义修改说明
- 修改悬浮提示文字:找到代码中
title="复制全文",引号里面的文字可以自定义; - 修改提示弹窗文字:修改 notyf 后面引号内的提示文本即可;
- 如果希望按钮显示文字 + 图标,修改 a 标签里面 innerHTML 内容,追加文字;
- 本功能只在文章详情 single 页面加载,首页、列表页不会运行脚本,不会额外消耗资源。
注意事项
- 依赖子比主题自带 Notyf 弹窗提示组件,更换其他主题之后弹窗提示会失效;
- 部分魔改修改版子比主题,如果文章页元信息的 class 类名改动,按钮将无法渲染出来;
- 浏览器安全策略下,复制剪贴板必须是用户手动点击触发;自动复制页面是无法实现的;
- 后续子比主题大版本更新,如果文章页 DOM 结构改动,该功能有可能失效。
常见问题
保存代码之后页面看不到复制按钮?
首先清理网站缓存、CDN 缓存,浏览器 Ctrl+F5 强制刷新;其次检查页面 DOM 类名是否和原版子比一致;确认 PHP 片段已经启用;F12 开发者控制台查看是否有 JS 报错。
按钮显示出来,点击复制之后没有弹窗提示?
确认是原版子比主题,notyf 弹窗脚本是子比内置;如果你关闭了主题的内置 JS 组件,弹窗提示就会消失;可以保留弹窗组件即可恢复提示。
复制出来的文本里面附带多余的代码、标签怎么办?
脚本读取的是.innerText 纯文本,不会复制 HTML 标签;如果出现多余文字,属于文章内部本身的文本内容,无法过滤;需要手动编辑文章去除多余内容。










暂无评论内容