从ACF图像阵列中拉出alt和title

时间:2016-04-26 20:33:27

标签: php title advanced-custom-fields alt

尝试使用图像阵列通过ACF为图像拉出alt和title标签。这就是我一直在做的事情,它似乎大部分时间都在工作,但这次我不能让它工作。

这是我的代码。

看到什么关闭?

<div id="log"></div> <!-- Just used to display the demo code -->

slide_image_1是我的ACF名称

2 个答案:

答案 0 :(得分:2)

尝试:

@if (@Model.PhoneOptions != null && @Model.PhoneOptions.Count() > 0)
{
    for (int i = 0; i < @Model.PhoneOptions.Count(); i++)
    {
        <div>
            <input asp-for="@Model.PhoneOptions[i].IsOptionSelected" type="checkbox" />
            <label asp-for="@Model.PhoneOptions[i].IsOptionSelected">@Model.PhoneOptions[i].OptionName</label>

            @*If these are not included, all OptionIds become 0 and all OptionName becomes null*@
            @Html.HiddenFor(x => @Model.PhoneOptions[i].OptionId)
            @Html.HiddenFor(y => @Model.PhoneOptions[i].OptionName)
        </div>
    }    
}

输出图像对象并查看图像是否实际由acf提供,以及哪些图像对象/数组字段可用。如果有alt和其他图像字段,那么它应该正常工作

答案 1 :(得分:2)

当您直接回显图像字段时,<?php echo $image; ?>只是输出整个数组,因为您在创建字段时将图像字段设置为输出Image Object

您需要在数组中添加所需的对象,就像使用alttitle一样,因此您的最终图片代码将为:

<img class="rsImg" src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" title="<?php echo $image['title']; ?>">

总是尝试var_dumpprint_r作为上面提到的其他答案,当您看到不起作用时,这样您就可以看到返回的内容并获取所需的正确数据。