2012-03-29 102 views
2

我們有一個客戶端使用wysiwyg編輯器將多張照片和不同位添加到自定義帖子類型。作爲Fancybox標題的Wordpress標題

它們包含使用Wordpress圖像標題功能的標題。

我們如何能夠(有效地)使用Fancybox的title選項來做到這一點?

下面是結構:

<div id="attachment_180" class="wp-caption"> 
    <a href="image.jpg" rel="performance"> 
     <img class="size-full" src="someimagethumb.jpg"> 
    </a> 
    <p class="wp-caption-text">The Image Caption</p> 
</div> 
+0

這將是非常簡單的使用fancybox v2.x(你需要將其硬編碼到WordPress)。這是如何http://stackoverflow.com/a/9611664/1055987 – JFK 2012-03-29 19:03:07

回答

2

我想你可能想是這樣的

$('div.wp-caption').each(function(){ 
    var caption = $(this).find('p.wp-caption-text').text(); 
    $(this).find('img').attr('title',caption); 
    $(this).find('p.wp-caption-text').remove();  
});​ 

說明:

對於每個PIC div(因爲可能有很多頁面上),請執行下列操作

  1. 從插入的文字中截取文字
  2. 文本在img元件
  3. 添加到title屬性中刪除字幕p元件

實施例:http://jsfiddle.net/ZVu9e/

+0

我希望我不會像使用.find一樣表現糟糕,但我不認爲有任何其他方式... – 2012-03-29 16:56:47

0

抓住它,然後傳遞到的fancybox。

var txt = $('.wp-caption-text').text(); 
//do fancybox with txt passed to the title property 
1

我結束了在functions.php文件,而不是JQuery的使用鉤:

function add_title_attachment_link($link, $id = null) { 
    $id = intval($id); 
    $_post = get_post($id); 
    $post_title = esc_attr($_post->post_excerpt); 
    return str_replace('<a href', '<a title="'. $post_title .'" href', $link); 
} 
add_filter('wp_get_attachment_link', 'add_title_attachment_link', 10, 2); 

Thi s將從附件中返回標題,並將其添加到<a>標記中作爲大多數JQuery lightbox插件的標題。

例如,在的fancybox:

$(".fancybox").fancybox({ 
    helpers : { 
     title : { 
      type : 'over' 
     } 
    } 
}); 

的標題將現在顯示在燈箱。