Tincetion 主题配合 Fast Gallery 自定义 Lightbox 灯箱

实现方法

修改 Tincetion 主题的模板函数 functions.php 修改下面这段代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* 文章图片添加 Lightbox 类,用于图片暗箱
/* -------------------------------- _/
function lightbox_gall_replace ($content){
global $post;

$pattern = "/<a(._?)href=('|\")([^>]_).(bmp|gif|jpeg|jpg|png)('|\")(._?)(._?)<\/a>/i";
$replacement = '&lt;a$1href=$2$3.$4$5 class="prettyPhoto_gall" rel="prettyPhoto[gallery1]"$6>$7</a>';
$content = preg_replace($pattern, $replacement, $content);
// $pattern2 = "/&lt;img(._?)src=('|\")([^>]_).(bmp|gif|jpeg|jpg|png)('|\")(._?)&#62;/i";
// $replacement2 = '[&lt;img$1src=$2$3.$4$5 $6>]($2$3.$4$5 class=)';
// $content = preg_replace($pattern2, $replacement2, $content);
return $content;
}
add_filter('the_content', 'lightbox_gall_replace', 98);

改为如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* 文章图片添加 Lightbox 类,用于图片暗箱
/* -------------------------------- _/
function lightbox_gall_replace ($content){
global $post;

if(preg_match("/gallery-1/i", $content)){
return $content;
}
$pattern = "/&lt;a(._?)href=('|\")([^>]_).(bmp|gif|jpeg|jpg|png)('|\")(._?)(._?)&lt;\/a>/i";
$replacement = '&lt;a$1href=$2$3.$4$5 class="prettyPhoto_gall" rel="prettyPhoto[gallery1]"$6>$7</a>';
$content = preg_replace($pattern, $replacement, $content);
// $pattern2 = "/&lt;img(._?)src=('|\")([^>]_).(bmp|gif|jpeg|jpg|png)('|\")(._?)&#62;/i";
// $replacement2 = '[&lt;img$1src=$2$3.$4$5 $6>]($2$3.$4$5 class=)';
// $content = preg_replace($pattern2, $replacement2, $content);
return $content;
}
add_filter('the_content', 'lightbox_gall_replace', 98);

即只需添加一个简单的判断,如果匹配到「gallery-1」就不使用主题的 Lightbox 灯箱。

这样就可以使用 Fast Gallery 的相册,又可以给普通的图片使用主题自带的 Lightbox 灯箱。

效果图如下(插件已经关闭,需要演示可以联系我)

已经更换 Hexo,所有你联系我也没用咯

多说两句

这个插件的 Lightbox 灯箱效果确实很华丽,但是很耗CPU,加载速度也比较慢,慎用。

Wordpress 后台没有这个插件,如果有人需要,在下面留言,我把插件发上来,感谢「雅木」分享 Fast Gallery 这个 Lightbox 插件。