Fancybox not working. why?

时间:2013-09-30 作者:artist learning to code

好的,我试着在我的自定义主题中实现一个fancybox灯箱。

我将脚本排入函数队列。php:

function ikos_add_lightbox() {
wp_enqueue_script( \'fancybox\', get_template_directory_uri() . \'/inc/lightbox/js/jquery.fancybox.pack.js\', array( \'jquery\' ), false, true );
wp_enqueue_script( \'lightbox\', get_template_directory_uri() . \'/inc/lightbox/js/lightbox.js\', array( \'fancybox\' ), false, true );
wp_enqueue_style( \'lightbox-style\', get_template_directory_uri() . \'/inc/lightbox/css/jquery.fancybox.css\' );
}
add_action( \'wp_enqueue_scripts\', \'ikos_add_lightbox\' );
在我的灯箱js中:

(function($) {

// Initialize the Lightbox for any links with the \'fancybox\' class
$(".fancybox").fancybox();

// Initialize the Lightbox automatically for any links to images with extensions .jpg, .jpeg, .png or .gif
$("a[href$=\'.jpg\'], a[href$=\'.png\'], a[href$=\'.jpeg\'], a[href$=\'.gif\']").fancybox();

// Initialize the Lightbox and add rel="gallery" to all gallery images when the gallery is set up using [gallery link="file"] so that a Lightbox Gallery exists
$(".gallery a[href$=\'.jpg\'], .gallery a[href$=\'.png\'], .gallery a[href$=\'.jpeg\'], .gallery a[href$=\'.gif\']").attr(\'rel\',\'gallery\').fancybox();

// Initalize the Lightbox for any links with the \'video\' class and provide improved video embed support
$(".video").fancybox({
    maxWidth        : 800,
    maxHeight       : 600,
    fitToView       : false,
    width           : \'70%\',
    height          : \'70%\',
    autoSize        : false,
    closeClick      : false,
    openEffect      : \'none\',
    closeEffect     : \'none\'
});

})(jQuery);
所以这应该像js中的注释一样工作。。。我的库代码正在尝试使用lightbox:

<?php
    if ( $attachments = get_children( array(
    \'post_type\' => \'attachment\',
    \'post_mime_type\'=>\'image\',   //return all image attachment only
    \'numberposts\' => -1,   //get all the attachments
    \'post_parent\' => $post->ID
)));

foreach ($attachments as $attachment) {

$src = wp_get_attachment_image_src( $attachment->ID, full);

$html = \'<a class="fancybox" href="\'.$src[0].\'">\';
$html .= wp_get_attachment_image( $attachment->ID, \'gallery-thumb\') .\'</a>\';
echo $html;
}
?>
它应该可以与任何人一起使用。jpg。gif或。png但没有,因为我的图片都是。jpg。所以我增加了这个类。fancybox到链接,什么都没有。。。所以我甚至尝试添加gallery rel,但什么都没有发生。。。

控制台日志显示无错误:/

非常感谢您的帮助!

2 个回复
最合适的回答,由SO网友:artist learning to code 整理而成

天哪,我刚刚得到了这个问题最简单的答案:

Page template that uses lightbox to display post images

我不知道thickbox是内置的:D

SO网友:P-S

哦,图像是有用的,但它们链接到图像本身,仅此而已。

Are you sure the images are showing with their links? 您的PHP代码对我不起作用,我不得不使用以下代码:

$attachments = get_posts( array( 
       \'post_type\' => \'attachment\',
       \'post_mime_type\'=>\'image\',
       \'posts_per_page\' => -1,
       \'post_status\' => \'any\',
       \'post_parent\' => $post->ID);
);
if ( $attachments ) {
    foreach ( $attachments as $attachment ) {
        $src = wp_get_attachment_image_src( $attachment->ID, full);     
        $html = \'<a href="\'.$src[0].\'">\';
        $html .= wp_get_attachment_image( $attachment->ID, \'gallery-thumb\') .\'</a>\';
        echo $html;
    }
}
如果您的PHP工作正常,请继续尝试以下操作之一:

从PHP函数中删除Lightbox wp\\u enqueue\\u脚本(可能与Fancybox冲突)I got Fancybox working on the attachments 将上面的PHP代码与JS代码和Fancybox的简单wp\\u enqueue\\u脚本一起使用。我正在使用以下内容:

  1. Fancybox V2.1.5
  2. Wordpress V3.6.1

结束

相关推荐

Paginate Gallery

我正在使用默认的WordPress Gallery(以及Cleaner Gallery插件)来显示一些图像。画廊似乎没有的一件事是分页。我想做的是在6张图片之后添加上一个和下一个链接来浏览页面。话虽如此,有几个插件声称添加了此功能,但它们都是在没有新媒体库的情况下开发的,而新媒体库是WordPress 3.5的标准配置。我不想改变用户的体验。。。我只是想通过函数添加功能。php或循环本身。我可以将同样的东西应用到所有的库中,因此如果修复程序能够以某种方式找到库的短代码,那就太棒了!不知道该怎么做,只是在这