Typecho 文档:给文内图片添加 Pinterest 分享功能
适用程序:Typecho
程序版本:1.2.1
文档作者:Lopwon
作者博客:Lopwon.com
发布页面:Lopwon.com/attachment/3835/
许可方式:CC BY-NC-SA
注意:此文档源于作者在博客改造中的一些经验总结,转载还请署名。
敬告:此文档操作涉及程序核心文件的修改,作者不对你在使用中产生的任何问题造成的不良后果,承担责任。
文档说明
通过将博客文内的图片,分享至 Pinterest 图板,一定程度上可以为自己的博客引流。
使用方法
A 涉及文件
usr/themes/***/footer.php
B 改造文件
作用:给文内图片添加 Pinterest 分享功能。
在主题的适当文件适当位置(如:文件 footer.php 页脚处)引入以下代码(留意注释,以及按需修改):
<script>
function pinterestShare() {
var pinImages = document.querySelectorAll('#content .image-container img'); // 获取文内所有图片元素,根据情况替换为文内图片的类名
pinImages.forEach(function(img) { // 遍历指定类内所有图片
var shareIcon = document.createElement('span'); // 创建分享图标
shareIcon.className = 'pinterest-icon'; // 添加分享图标类名,根据情况自行定义 .pinterest-icon 样式
shareIcon.onclick = function(e) { // 点击分享
e.preventDefault(); // 阻止默认行为
var imageUrl = encodeURIComponent(img.src); // 获取当前图片的 URL
var siteUrl = '<?php echo $this->options()->siteUrl; ?>'; // 博客链接
var description = encodeURIComponent('<?php echo $this->options()->description; ?>'); // 博客描述
var pinterestLink = `https://www.pinterest.com/pin/create/button/?url=${siteUrl}&media=${imageUrl}&description=${description}`; // 分享接口
window.open(pinterestLink, '_blank'); // 新窗口打开
};
img.parentElement.appendChild(shareIcon); // 将分享图标添加到图片元素后面
});
}
window.onload = pinterestShare; // 页面加载完成后初始化 pinterestShare() 函数
</script>
至此,在文内图片已添加 Pinterest 分享功能,请根据需要对按键 .pinterest-icon 进行样式自定义。