我使用wordpress CMS和CMB2插件来创建cmb字段。它是完美的组合,但我无法使用“文件”字段类型添加我的图像中的替代文字。像往常一样,我注册了可重复的字段并将它们带到前端:
string client = "Tesco";
ReasonEnum reason = ReasonEnum.NewStore;
TextTemplateTypeEnum t = GetTemplate(client, reason);
但是我无法获得图像替代文字,试图谷歌,但没有我发现的工作..也许任何人都可以帮助?谢谢!
答案 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标签中使用这个单独的数据。** /