我正在为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属性..
早些时候,我拥有了一切在一个行,结果相同。
查看浏览器中的页面源代码(而不是开发人员工具)。它可能会被一些JavaScript编辑。 – Ivar
代码中的评论对我来说似乎有点奇怪。 $ alt'如何有三个不同的字符串值?它是一个数组还是这种性质的东西? – David
它在for循环 - sry。 – Stender