2017-02-15 70 views
2

即時通訊使用lightgallery所以我需要加載圖像之前在lightgallery打電話給他們。問題是圖像很大,因此加載時間太長。用戶點擊鏈接時是否有加載該特定圖庫的方法?foreach如果用戶點擊鏈接?

<div id="lightgallery-<?php echo get_the_ID(); ?>" class="hidelightgallery"> 
    <?php 
    foreach ($files as $image) { 
     $image_attributes = wp_get_attachment_url($image->ID); 
     $attachment_title = get_the_title($image->ID); 
     $caption = get_post_field('post_excerpt', $image->ID); 
     ?> 

     <a class="item" href="<?php echo $image_attributes ?>" data-sub-html="<?php echo $attachment_title; ?> <?php if($caption!= '') echo ' - ' ?> <?php echo $caption ?>"><img src="<?php echo $image_attributes ?>"></a> 
    <?php } ?> 
    </div> 

現在我想要的是,如果用戶點擊例如鏈接這個ID然後做foreach。那可能嗎?

+0

你可以在這種情況下使用ajax,爲什麼思考複雜,點擊鏈接,只是火ajax,獲取數據和填充 – rahulsm

+0

或其他方式來做到這一點,隱藏foreach填充html直到你點擊 – rahulsm

+0

我不想要隱藏像我說的大圖像,所以它花了很多時間頁面獲取負載 – None

回答

0

只要遵循這些步驟,

  1. 創建新的模板/ HTML頁面,你會寫HTML和foreach循環
  2. 填充您的ID = lightgallery整個代碼添加到HTML頁面
  3. 當你將點擊你的鏈接(你提到的)發射一個ajax
  4. Ajax函數將獲得一些id或圖像數量需要顯示或你的邏輯你將如何填充數據在foreach循環
  5. 我ñPHP你會得到所有相關數據,你將填充在HTML文件中的數據在步驟創建1
  6. PHP函數將數據返回到AJAX功能
  7. Ajax的功能將讓所有的動態HTML數據
  8. 填充任何你想去的地方是HTML或只是追加該HTML,無論你想

走一步看一步,這將解決您的問題。

+0

即時通訊使用WordPress,是一個問題,因爲沒有HTML頁面一切都是.php? – None

+0

所以創建php,編寫你的html代碼,並獲得動態生成的數據並返回js ajax響應 – rahulsm