• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

当前位置: > CMS教程 > 其他CMS教程 >

jQuery lightBox plugin脚本集成到wordpress主题

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-10点击:

本文介绍如何给主题集成JQuery Lightbox特效,由于部分非加载jquery.js文件的脚本会与jquery产生冲突,所以本文选择jQuery lightBox plugin来实现wordpress主题集成Lightbox特效。

1

jQuery lightBox plugin可以利用功能强大的代码来自定义哪种链接暗箱放大。不需要在a链接后面添加rel标签。

下面我为大家详细说明。

1,加载jquery.js

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

2,加载如下代码。

<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/lightbox/jquery.lightbox-0.5.js"></script>  
<script type="text/javascript">Lightboxload("<?php bloginfo('template_url'); ?>/lightbox/");</script>  
<link rel="stylesheet" type="text/css" href="<?php bloginfo('template_url'); ?>/lightbox/jquery.lightbox-0.5.css" media="screen" />  
<script type="text/javascript">  
        $(function() {  
        $('#entry a').filter('#lightbox').lightBox();
        });  
</script> 

这里我详细说明一下:

一、

<script type="text/javascript">Lightboxload("<?php bloginfo('template_url'); ?>/lightbox/");</script>

其中这一句是一个函数调用,只所以利用函数调用,是因为这个js文件里面有图片路径,如果直接调用文件,那么需要把图片文件放到网站根目录中,但是做主题的一个重要原则是尽量不改动wordpress程序本身,因此通过函数调用只需要把文件放到主题目录下面即可,不会再出现路径问题。

二、

<script type="text/javascript">     
        $(function() {     
        $('#entry a').filter('#lightbox').lightBox();
        });     
</script>

这一句是jquery的语言,实现的效果就是在entry标签中所有的图片文件组成相册(上一张,下一张)。

标签的具体用法请参考jquery常用标签用法。

3,将下面代码添加到主题目录下面function.php文件中。功能是为正文中所有的图片链接a增加标签。

//自动添加标签属性   
add_filter('the_content', 'lightbox_gall_replace');     
function lightbox_gall_replace ($content)     
{   global $post;     
    $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";     
    $replacement = '<a$1href=$2$3.$4$5 id="lightbox"$6>$7</a>';     
    $content = preg_replace($pattern, $replacement, $content);     
    return $content;     
}

4,以下是效果演示。

修改过的脚本文件,可直接放到主题下面调用。

(13 bytes, 3 hits)

原文地址:

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 1170734538@qq.com ,  QQ