为WordPress主题添加图片暗箱特效
所谓的暗箱,就是点击小图片弹出窗口并显示大图片,类似的Wordpress插件众多,比如:wp-slimbox2、jQuery Lightbox、jQuery Colorbox、Gameplorer`s WPColorBox、shadowbox-js、Auto Highslide等等,功能效果都相似。其实不用插件简单几步就可将这一特效集成到WordPress主题中,而且加载的文件也比插件小的多。喜欢折腾的童鞋可以参照下面的方法操作:
首先,下载所需文件,解压后将pirobox文件夹内的所有文件放到你所使用主题的目录中。
文件下载:pirobox
其次,打开主题header模版文件,在</head>前面,分别添加:
所需样式:
<link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/img/style.css" />
必须的jquery.min.js及特效pirobox.min.js文件:
<script type="text/javascript" src="<?php bloginfo('stylesheet_directory'); ?>/js/jquery.min.js" ></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/pirobox.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$().piroBox({
my_speed: 400, //animation speed
bg_alpha: 0.3, //background opacity
slideShow : true, // true == slideshow on, false == slideshow off
slideSpeed : 4, //slideshow duration in seconds(3 to 6 Recommended)
close_all : '.piro_close,.piro_overlay'// add class .piro_overlay(with comma)if you want overlay click close piroBox
});
});
</script>
如果你所使用的主题已加载了jquery.js,可以免去jquery.min.js文件加载代码。
最后,集成该特效除了加载必须的JS和样式文件,关键是为日志中的图片链接自动添加JS特效所需的固定标签属性(class=”pirobox_gall”)。将下面代码扔到主题functions.php中
add_filter('the_content', 'pirobox_gall_replace');
function pirobox_gall_replace ($content)
{ global $post;
$pattern = "/<a(.*?)href=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>(.*?)</a>/i";
$replacement = '<a$1href=$2$3.$4$5 class="pirobox_gall"$6>$7</a>';
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
完成暗箱特效集成,简单吧。之后,点击日志中的图片,就会华丽地弹出窗口展示该日志中所有插入的图片,可手动播放也可以自动播放。下面的演示是通过shadowbox-js插件实现的,真正集成后的效果要比这个炫。或者到我的站:http://zmingcx.com/gallery/enjoy 查看真实效果。
另外,集成该插件后,如果日志中有多张图片,只需正常插入一张就可以了,其它只需插入图片链接,可以加快页面打开速度。
举一反三,你也可以尝试将http://www.pirolab.it/pirobox/中的特效集成到主题中,这个特效JS弹出窗口,可适应屏幕的大小,并可移动,关键就是为图片链接添加不同的标签属性。
哈,很实用的技巧,明天有时间再折腾上去……
谢谢分享这么好的技术文章
太高端了⋯⋯
只有三步就可完成的特效,绝对的低端,呵呵
鸟哥,你的博客为什么打不开了?
域名备案中
鸟哥,你的HotNewsPro不就是集成了暗箱效果吗?我觉得HotNewsPro的那个效果比较美观~~~
加载了东西,多速度有影响吧
太高端了⋯⋯
奇怪,我的网站怎么没有特效?
你好,如果我想把主题自带的暗箱功能取消,怎么实现?有没有相关文章有详细说明,请推荐一下。
您好!非常感谢你的分享,我按你步骤做了,也有了暗箱效果。
但是很奇怪的是不知为何,每显示一张图片就往下滑,而且下滑的厉害,每次看下一张图片都要拉到很下去看。http://tianqing.info/2012/04/01/test/ 这个是测试链接,麻烦您帮忙看一下可以吗?也不知道是不是就只有我是这样~谢谢了~O(∩_∩)O
嗯,不好意思,再次打扰,还有个问题想问下您,我博客好像用外链的图片就没有这样的特效?
你好哦。我刚弄了个wordpress 博客,好多东西我都弄不好。想要你的帮助可以吗。。。谢谢哈。
我的邮件:lichking_lin86@qq.com
有问题,可以到WordPress问答社区:http://faq.wopus.org 提问交流。
这个简洁、方便多了。
这个效果太老套了,看下我的图片暗箱效果http://www.ddbing.com/jquery-achieve-picture-text-obscura-effect/
理论上是可以的