当前,onmy homepage (这是帖子列表),如果单击某个图像,它将在与全尺寸图像相同的窗口中打开。
我想更改它,以便当用户单击所述图像时,它会打开Fancybox弹出窗口。
我有我的Fancybox代码,它适用于我的自定义帖子类型页面(因为我能够为这些图片设置类/rel):
// fancybox
jQuery( document ).ready( function( $ ) {
$("a img.fancybox").fancybox({
\'transitionIn\' : \'elastic\',
\'transitionOut\' : \'elastic\',
\'speedIn\' : 600,
\'speedOut\' : 200,
\'overlayShow\' : true,
\'overlayOpacity\': 0.7,
\'overlayColor\' : \'#333\',
\'titlePosition\' : \'over\'
});
});
但我不知道如何将Fancybox添加到WordPress在帖子中自动为其链接图像提供的代码中:
<div id="attachment_542" class="wp-caption alignleft" style="width: 135px">
<a href="http://www.xxx.com/wp-content/uploads/2011/12/Amazonas-English-1.jpg">
<img class="size-thumbnail wp-image-542 fancybox" title="Amazonas English" src="http://www.xxx.com/wp-content/uploads/2011/12/Amazonas-English-1-288x381.jpg" alt="Amazonas English" width="125" height="165">
</a>
<p class="wp-caption-text">Amazonas Magazine - now in English!</p>
</div>
有什么建议吗?有没有办法只使用Fancybox上的jQuery选择器就可以做到这一点,或者我必须实现一个WP过滤器来修改插入后的图像链接,以便它们包含特定的id/类?
提前感谢,
最合适的回答,由SO网友:Bainternet 整理而成
以下是我在网站中使用的代码,它将锚定标记下的所有图像加载到fancybox
add_action(\'wp_footer\',\'auto_fancy_box\');
function auto_fancy_box(){
if (!is_single() && !is_page())
return;
?>
<SCRIPT TYPE="text/javascript">
jQuery(document).ready(function(){
jQuery(".post_content").find("a:has(img)").addClass(\'group\');
jQuery(".post_content").find("a:has(img)").attr(\'rel\',\'group1\');
jQuery("a.group").fancybox({\'transitionIn\':\'elastic\',\'transitionOut\':\'elastic\',\'speedIn\':600,\'speedOut\':200,\'overlayShow\':false});
});
</SCRIPT>
<?php
}
只需更改
.post_content
发布内容容器jQuery选择器。