2016-01-16 69 views
0

我在wordpress中運行一個自定義fancybox;主頁循環是一個「精選圖像」的網格;點擊它們不會打開一個帖子頁面,而是一個帶有帖子圖像的fancybox(通常只有一個)。jquery-php magic:如何從主頁循環fancybox中打開帖子頁面

這是通過用php函數替換the_permalink來完成的,該函數獲取帖子中第一張圖片的直接url。到現在爲止還挺好。

現在圖片在fancybox中打開;在這裏我已經添加了一個精美的「打印」鏈接;我旁邊需要的是一個鏈接到實際的帖子頁面我從拍攝該圖片!

這太難了,我的大腦......

...如何告知這種變量的fancybox?

很明顯,告訴fancybox使用<?php get_the_permalink(); ?>將無法​​正常工作(php片段將被轉換爲url字符;此外,它會知道postID嗎?我懷疑它);

我嘗試了不同的ajax變體,我在本網站上找到類似的目的,但我無法讓他們工作。我認爲我沒有走上正軌。

什麼方法?當用戶點擊主頁上的fancybox鏈接時,應該將圖像url與(例如)帖子ID或帖子固定鏈接一起發送到fancybox腳本中,以允許fancybox使用這些變量來生成鏈接。

在此時,綁定到點擊操作的簡單window.location.replace(permalink);將起作用。但是我的大腦看不到我怎麼能把這個固定鏈接或id傳遞給fancybox。 :(

對不起,缺乏代碼,我會發布任何你認爲可以幫助

(注:我使用的fancybox 1.3.7;它只是定製,只要它有一個打印按鈕。並沒有什麼大不了的)

+0

您能向我們展示如何添加打印鏈接並顯示fancybox?那麼顯然有辦法顯示一個打印鏈接到實際的帖子頁面,但我不知道如何看到任何代碼。顯而易見的方法是將帖子ID添加到循環中的每個圖像,並在打開fancybox時使用該ID。但是我不能不知道你現在用什麼方法來彈出fancybox。 –

回答

0

對不起,回答我自己的答案 - 我是新來的:)無論如何這裏是 ...通過寫上述帖子,我實際上幫助我的大腦圖一個解決方案,這是相當直接:

fancybox使用了很多變量,而不僅僅是href;我將使用其中一個進行通過固定鏈接,例如title,甚至添加一個新的變量(添加自定義變量在的fancybox腳本,在這樣做的頂部會發生:

_start = function() { 
     var obj = selectedArray[ selectedIndex ], 
      href, 
      type, 
      title, 
      str, 
      emb, 
      ret; 

     _abort(); 

但我現在不想這麼做)。

所以會有這樣的情況,在PHP端:

<a class="fancybox-image" title="<?php echo get_the_permalink(); ?>" href="<?php echo just_the_image(); ?>"> 

(功能just_the_image正在所述柱的所述第一圖像如上所述)

然後在jquery的側,內該腳本的fancybox,我會做這個(希望這會回答埃裏克要求以及):

outer.append(permabox = $('<div id="#permabox"></div>')); 

和幾行了,我這個動作綁定到「permabox」啄:

$('#permabox').bind("click", function(){ 
var mytitle = $('#fancybox-title-over').prop('innerHTML'); 
window.location.replace(mytitle);}); 

(注意,爲了得到標題爲字符串,我使用了fancybox的innerHTML;不是我認爲最直接的方式);

以上不是最好的解決方案,因爲fancybox是習慣於在圖像下顯示標題;如上所示,爲此添加一個自定義變量會更好 - 但重點是,上述工作:)

相關問題