标签: FancyBox

  • 【7B2美化】增加FancyBox灯箱(修复)

    【7B2美化】增加FancyBox灯箱(修复)

    如果你购买了之前的教程,但是7b2主题使用后无效,请看这篇文章

    [b2_insert_post id=”12659″]

    首先,将functions代码里的data-fancybox=”images”删掉

    前往b2主题目录,打开b2/Modules/Common/Post.php

    找到大概103行左右,有个B2_DEFAULT_IMG,你也可以直接搜索B2_DEFAULT_IMG

    在他的下面有这么一段代码

    $v->setAttribute(
                        'class',
                        $v->getAttribute('class').' lazy'
                    );

    在他的下面新增一个

    $v->setAttribute(
                            'data-fancybox',
                            'images'
                        );

    OK,7b2完美兼容fancybox灯箱,有什么不懂的可以随时问我,我在森鹿语用户交流群全天在线

    群号:783754655

    初一小盏:www.vxras.com

  • 【7B2主题美化】给B2主题增加一个FancyBox灯箱

    【7B2主题美化】给B2主题增加一个FancyBox灯箱

    众所周知,7b2主题是没有图片灯箱效果的,所以一般大家都是使用插件来使用灯箱,插件或多或少都会拉低网站速度,唔,还是不推荐大家使用灯箱插件,这里我整理了全代码集成FancyBox灯箱,摆脱无用插件

    [content_hide]

    首先在header.php引入 jQuery 和 FancyBox 文件引入位于 </head> 之前

    <script src="//code.jquery.com/jquery-3.3.1.min.js"></script>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
    <script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>

    将下面的代码放入你 7b2 主题下的 functions.php 文件中即可实现效果

    /**FancyBox图片灯箱**/
    add_filter('the_content', 'fancybox1');
    add_filter('the_content', 'fancybox2');
    function fancybox1($content){ 
        global $post;
        $pattern = "/<img(.*?)src=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>/i";
        $replacement = '<a$1href=$2$3.$4$5 data-fancybox="images"><img$1src=$2$3.$4$5$6></a>';
        $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }
    function fancybox2($content){ 
        global $post;
        $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png|swf)('|\")(.*?)>(.*?)<\/a>/i";
        $replacement = '<a$1href=$2$3.$4$5 data-fancybox="images"$6>$7</a>';
        $content = preg_replace($pattern, $replacement, $content);
        return $content;
    }

    [/content_hide]