详情
评论
问答

子比主题美化:文章页顶部左侧新增复制全文按钮教程

很多使用子比主题建站的站长,希望在文章详情页面增加一键复制全文的功能。本期分享一段功能代码,可以在文章页顶部左侧添加复制全文按钮,鼠标悬浮会出现 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 标签;如果出现多余文字,属于文章内部本身的文本内容,无法过滤;需要手动编辑文章去除多余内容。

文章版权声明 1、本网站名称:小洋筑记
2、本站永久网址:https://www.xiaouc.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 共1条

请登录后发表评论

    暂无评论内容