0

(WordPress 3.5.1)

嗨,在functions.php中,我包含以下内容:

function add_lightbox_cys() {
    wp_enqueue_script( 'jquery' );
    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/jquery.lightbox.js', array('fancybox'), false, true );
    wp_enqueue_script( 'lightbox-style', get_template_directory_uri() . '/inc/lightbox/css/jquery.fancybox.css' );
}
add_action( 'wp_enqueue_scripts', 'add_lightbox_cys');

然后使用以下代码创建了 lightbox.js:

(function($) { $(".fancybox").fancybox(); })(jQuery);

现在在 wordpress 附带的 wordpress 主题二十二中,这实际上可以在花式框中打开图片。

但是当我在我自己的定制主题中尝试这个时,它根本不会触发fancybox。

这里是网站的链接:http: //goo.gl/y6qfb

有谁能够帮助我?

4

2 回答 2

1

您可以从这个清单开始(可能不是全部):

1)。你的页面没有合适的DOCTYPE(不要问我为什么),你可以在你的新主题模板中修复它。

2)。您似乎没有使用灯箱,因此请删除此参考

wp_enqueue_script( 'lightbox', get_template_directory_uri() . '/inc/lightbox/js/jquery.lightbox.js', array('fancybox'), false, true );

3)。您正在将 fancybox css 样式表加载为脚本,因此出现错误

Timestamp: 31/03/2013 1:14:48 PM
Error: SyntaxError: syntax error
Source File: http://jarsis.de/tground/wp-content/themes/cys/inc/lightbox/css/jquery.fancybox.css?ver=3.5.1
Line: 2
Source Code: .fancybox-wrap, 

...所以你需要替换这一行:

wp_enqueue_script( 'lightbox-style', get_template_directory_uri() . '/inc/lightbox/css/jquery.fancybox.css' );

这样 :

wp_enqueue_style( 'lightbox-style', get_template_directory_uri() . '/inc/lightbox/css/jquery.fancybox.css' );

...但这取决于您如何注册新样式表。

4)。您可能需要将您的 fancybox 初始化代码包装在.ready()方法中,例如:

(function($) { 
  $(function(){
     $(".fancybox").fancybox();
  });
})(jQuery);
于 2013-03-31T20:18:47.117 回答
0

Firebug 报告http://jarsis.de/tground/wp-content/themes/cys/inc/lightbox/js/jquery.lightbox.js?ver=3.5.1的 404 ,表明 Lightbox js 没有得到加载。我想这可以解释这个问题。

Firebug 还报告了一个语法错误,有点难以解释,但与“.fancybox-wrap”有关

于 2013-03-31T19:59:10.603 回答