[英]Custom Wordpress theme - fancybox not working?
(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中打开图片。
但是,当我在自己的定制主题中尝试此操作时,它根本不会触发fancybox。
这里是网站的链接: http : //goo.gl/y6qfb
有谁能够帮助我?
您可以从此清单开始(可能不算什么):
1)。 您的页面没有正确的DOCTYPE
(不要问我为什么),您可以在新主题模板中对其进行修复。
2)。 您似乎没有使用灯箱,因此请删除此参考
wp_enqueue_script( 'lightbox', get_template_directory_uri() . '/inc/lightbox/js/jquery.lightbox.js', array('fancybox'), false, true );
3)。 您正在将fancybox css样式表作为script加载,因此出现错误
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);
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”有关
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.