2017-08-01 40 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