!
也想出现在这里? 联系我们
广告位

WordPress主题集成FancyBox图片灯箱

FancyBox 是一款基于 jquery 开发的类 Lightbox 插件。支持对放大的图片添加阴影效果,对于一组相关的图片添加导航操作按纽,该 lightbox 除了能够展示图片之外,还可以展示 iframed 内容,通过 css 自定义外观。原先黑糖主题里是带有这个灯箱的,只不过显示的效果过于简单,从悟空博客分享的文章里,重新折腾了一下,如今图片的显示效果还是挺好看。

FancyBox 特点:

1、允许我们用鼠标滚轮 或者 键盘上的四个方向键切换图片。

2、可以根据当前窗口大小自动调整弹出框的大小,当我们改变浏览器窗口大小时,将会看到弹出框自动缩放了。

3、支持缩略图和按钮帮助导航。

4、弹出框支持显示多种类型的内容(图片,html,视频……)。

5、灯箱中按 ‘F’ 键快捷切换查看原图。

下载 fancybox

下载后解压,得到 css,img,js 三个文件夹,将这三个文件夹上传至主题根目录。本站提供的下载文件:fancyboX

引入下载

引入下载的 JS、css 文件,本站用的是开发的主题,所以在 functions.php 里找到加载 css 的函数块,加入

  1. if (cs_get_option('i_function_fancybox_switcher') && !is_home()) {
  2. wp_enqueue_style('FancyboxCss', get_template_directory_uri().'/fancybox/css/fancybox.css', array(), '2.1.7', 'all');
  3. wp_enqueue_script('FancyboxJs', get_template_directory_uri().'/fancybox/js/jquery.fancybox.pack.js', array(), '2.1.7', true);
  4. }

JS 代码

在主题 main.js 中添加以下代码创建灯箱实例,并设置相关效果等,为了能让之前的文章图片也有灯箱效果,加入了文章图片添加 fancybox-buttons 的样式。

  1. //灯箱效果
  2. if (fancyboxSwitcher && !isHomePage) {
  3. var siteTitle = $("title").html();
  4. $(".article-body img").each(function () {
  5. var alt = this.alt;
  6. var src = this.src;
  7. if (!alt) {
  8. $(this).attr("alt", siteTitle);
  9. }
  10. $(this).wrap("<a href='https://www.22vd.com/"+ src +"' class='fancybox-buttons' data-fancybox-group='button' title='https://www.22vd.com/"+ alt +"'></a>");
  11. });
  12. $('.fancybox-buttons').fancybox({
  13. openEffect : 'elastic',
  14. closeEffect : 'elastic',
  15. prevEffect : 'elastic',
  16. nextEffect : 'elastic',
  17. closeBtn : false,
  18. helpers : {
  19. title : {
  20. type : 'inside'
  21. },
  22. buttons : {}
  23. },
  24. afterLoad : function() {
  25. this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
  26. }
  27. });
  28. }

添加函数

在主题的 functions.php 中添加一个自定义函数,重写文章中图片链接 a 标签的 class 属性,其实不用这一段也可以,因为上面已经添加了触发灯箱的重写,问题是如果你发的文章含有分页内容,并且是 AJAX 加载的话,还是要加上这一段才行,在发分页文章时,图片要选链接到媒体。

  1. //自动添加标签属性(fancybox图片灯箱),发布含分页文章时,图片要选链接到媒体
  2. add_filter('the_content', 'fancybox_replace',99);
  3. function fancybox_replace ($content)
  4. { global $post;
  5. $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
  6. $replacement = '<a$1href=$2$3.$4$5 data-fancybox-group="button" class="fancybox-buttons"$6>$7</a>';
  7. $content = preg_replace($pattern, $replacement, $content);
  8. return $content;
  9. }

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

为wordpress文章添加目录方便阅读

2024-6-4 9:34:13

WordPress教程

给WordPress分类\标签页面增加点赞功能

2024-6-6 9:34:19

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索