从循环中的cmb2文件自定义字段获取Gett图像alt(CMB2!)

时间:2017-02-23 10:09:05

标签: wordpress

我使用wordpress CMS和CMB2插件来创建cmb字段。它是完美的组合,但我无法使用“文件”字段类型添加我的图像中的替代文字。像往常一样,我注册了可重复的字段并将它们带到前端:

string client = "Tesco";
ReasonEnum reason = ReasonEnum.NewStore;
TextTemplateTypeEnum t = GetTemplate(client, reason);

但是我无法获得图像替代文字,试图谷歌,但没有我发现的工作..也许任何人都可以帮助?谢谢!

2 个答案:

答案 0 :(得分:0)

CMB在上传时始终存储图像的ID。你只需要按照以下方式抓住它:

$successful_students_block_image_id = get_post_meta( get_the_id(), $successful_students_item['successful_students_block_image_id'], true );
$gallery_image=wp_get_attachment_image( $successful_students_block_image_id,'full');
echo $gallery_image;

这将为您提供该图像的alt并打印图像。

答案 1 :(得分:-1)

您可以通过替代方式实现您的需求,意味着通过使用CMB2的file_list类型,您将获得图像数组。因此,使用array_key获取单个图像ID,例如

foreach(array_keys($ successful_students_items)as $ successful_students_item_id) {

/ **现在使用此ID可以获取附件的个别数据** /

$ successful_students_block_image_alt = get_post_meta($ successful_students_item_id,' _wp_attachment_image_alt',true);                             $ successful_students_block_image_url_details = wp_get_attachment_image_src($ successful_students_item_id,' full');

/ **这将返回一个数组** /                             $ successful_students_block_image_url = $ successful_students_block_image_url_details [0];

} / **现在你可以在img标签中使用这个单独的数据。** /