2017-08-01 114 views
0

我正在爲wordpress構建一個圖庫部件 -在圖像中呼應'alt'屬性 - PHP

我得到的圖像很好,並且數據存在。

function add_my_shortcode(){ 
$page = get_page_by_title('Byggeriet i billeder'); 
//var_dump(get_field('gallery_repeater', $page->ID)[0]['rep_img']['url']); 

$arrayOfImages = get_field('gallery_repeater', $page->ID); 
if ($arrayOfImages) { 
    $content = ''; 
    $order = array(); 
    //reverse the order of images 
    foreach ($arrayOfImages as $key => $value) { 
     $order[ $key ] = $key; 
    } 

    array_multisort($order, SORT_DESC, $arrayOfImages); 


    //$content .= '<p>Seneste fra galleriet</p>'; 
    foreach ($arrayOfImages as $key => $value) { 

     if($key < 3){ 
      $img = $value['rep_img']; 

      $desc = $value['rep_desc']; 

      $url = $img['url']; 
      $title = $img['title']; 

      if($img['alt']){ 
       $alt = strip_tags($img['alt']); 
      } else { 
       $alt = strip_tags($desc); 
      } 


      //var_dump($alt); 
      $caption = $img['caption']; 
      $sizes = $img['sizes']; 
      //var_dump($key." -> ".$url); 
      //$content .= '<a title="gallery" href="/ombygning/byggeriet-i-billeder"><img class="sidebarGallery" src="'.$sizes['sachiko_4by3'].'" alt="'.$alt.'" ></a>'; 

      if(!$alt){ 
       $alt = "gallery image"; 
      } 

      $content .= '<a title="gallery" href="/ombygning/byggeriet-i-billeder">'; 
      $content .= '<img class="sidebarGallery" src="'.$sizes['sachiko_4by3'].'" alt="'.$alt.'" >'; 
      $content .= '</a>'; 
      var_dump($alt); 
      //returns : string(30) "Disse billeder er bare tests7 " string(30) "Disse billeder er bare tests6 " string(30) "Disse billeder er bare tests5 " 

     } 

    } 

    return $content; 
} 


} 

add_shortcode('galleryShortcode', 'add_my_shortcode'); 

當我的var_dump的$ ALT,我看到的值就好了 - 但它不存在於所顯示的代碼 - 這意味着該數據是好的,但我必須要顯示它錯了不知何故 -

我不知道這是否是一個語法錯誤,但我一直在主演自己對此視而不見 - 並且有理由認爲在某處存在明顯的解決方案。

所顯示的代碼出來是這樣的:

<img title="" class="sidebarGallery" src="my-image-url-hidden.jpg" alt=""> 

也不知爲什麼img標籤突然有一個title屬性..

早些時候,我擁有了一切在一個行,結果相同。

+0

查看瀏覽器中的頁面源代碼(而不是開發人員工具)。它可能會被一些JavaScript編輯。 – Ivar

+0

代碼中的評論對我來說似乎有點奇怪。 $ alt'如何有三個不同的字符串值?它是一個數組還是這種性質的東西? – David

+0

它在for循環 - sry。 – Stender

回答

0

它看起來像$ alt是一個數組,但並沒有如此顯示它。嘗試將$ alt [0]而不是$ alt。

+0

$ alt,var被轉儲3次,它是字符串,而不是數組。我已經更新了這個問題來顯示整個功能 – Stender

+0

這可能是愚蠢的,但嘗試添加一個靜態值,以確保值不會被替換爲另一個腳本,無論是PHP或JavaScript.Or也許是一個錯誤的代碼位置。 – Soanix

+0

它不會與靜態工作 - 除非我回聲$內容而不是返回$內容 – Stender