将WP帖子内容传递给JQuery插件(Fancybox) - 现在有了链接

时间:2012-10-04 16:44:36

标签: php jquery wordpress jquery-plugins fancybox

我已经在这方面苦苦挣扎了好几天......希望这会为它带来一些启示。

我正在建立一个投资组合WP。它只显示图像缩略图,其中有一个调用fancybox的视频元素。在标签中,属性具有用于加载内容的fancybox的信息。 “href =”是要显示的视频的网址,“title =”是帖子的标题等。

我想以某种方式将帖子的内容带到fancybox窗口并将其显示为标题(视频下的标题)。

到目前为止,我的方法是将帖子的内容放入<a>标签,然后将该内容传递到FBox .js文件中。

我已将帖子内容(the_content)带到<a>的自定义属性,偶数=并且还将其带到INSIDE标签中。

我已经开始工作了:帖子内容在索引页面中加载为“eventid =”属性和<a>标签内的文本。

这就是Fbox调用元素在索引中的WP循环中的加载方式。

<a class="thumbnail-frame excerpt-text <?php if($video_url !='' || $embeded_code != '')         : ?>video<?php else: ?>shots<?php endif; ?>"
<?php if($video_url !='' || $embeded_code != '') : ?><?php else: ?>rel="set-<?php    the_ID(); ?>"<?php endif; ?> 
href="<?php if($video_url !='' || $embeded_code != '') : ?>#embed-<?php the_ID(); ?><?php else: ?><?php echo $upload_image_1; ?><?php endif; ?>" 
title="<?php the_title(); ?>" eventid="<?php the_content(); ?>"><span class="post"><?php the_content(); ?></span></a>

但是,我仍然无法将该文本发送到FBox javascript插件中,以便从索引中抓取内容并加载到Fbox中。

我做的最多的是

 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
 return '<span id="fancybox-title-over">' + jQuery("a.video").html() + '</span>';

仅在Fbox内发布FIRST帖子的内容(它获取它找到的第一个a.video元素的内容)。

我试过

 'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
 return '<span id="fancybox-title-over">' + jQuery(this).html() + '</span>';

但它返回一个null或未定义的值,并将其打印在Fbox中。

我被卡住了,我不知道如何获取每个帖子的特定文本内容并将其带入FBox。我在考虑使用全局变量?

我是学生,所以我显然是超级新手,我真的想超越这个障碍。

这是博客的链接,让您了解我在说什么。

http://realitynext.heliohost.org/wordpress/

谢谢!

1 个答案:

答案 0 :(得分:1)

如果你想获得所有的a.video元素,你需要.each()迭代器:

'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
  var string =  '<span id="fancybox-title-over">';
  jQuery("a.video").each(function() { string = string + $(this).html(); });
return string + '</span>';
}

如果你只想要点击元素的内容,你需要这个:

'titleFormat' : function(title, currentArray, currentIndex, currentOpts) {
  return '<span id="fancybox-title-over">' + jQuery(currentArray[currentIndex]).html() + '</span>';
}