在 wordpress 滑块中向图像添加替代文本

Adding alt text to images within a wordpress slider

我希望将替代文本添加到滑块图像。我能够添加以下行:

alt ="<?= $alt = get_post_meta(get_post_thumbnail_id($post->ID), '_wp_attachment_image_alt', true); ?>"

此行拉入了照片的替代文字,但它是滑块内所有照片的相同替代文字。它似乎没有将每个替代文本循环到每张照片。下面是拉取图片的代码。

<?php $_gallery = get_field('project_gallery_photos'); ?>

        <?php if( $_gallery ) { ?>
            <div class="_featured-images">
                <div class="_slider">
                    <?php foreach( $_gallery as $_img ): ?>
                        <div class="_slide">
                            <img src="<?= $_img['photo']['sizes']['project-images']?>" alt ="<?= $alt = get_post_meta(get_post_thumbnail_id($post->ID), '_wp_attachment_image_alt', true); ?>"/>

                            <?php if( $_img['photo_title'] || $_img['photo_caption'] ) { ?>
                                <div class="_caption">
                                    <?= $_img['photo_title']? '<b>'.$_img['photo_title'].'</b><br>': '' ?>
                                    <?= $_img['photo_caption'] ?>
                                </div>
                            <?php } ?>
                        </div>
                    <?php endforeach; ?>
                </div>

您作为当前全局 $post 的“特色图片”的元描述引入的内容,画廊照片似乎是高级自定义字段的内容。

您应该引入的是 foreach() 循环中的设置之一。如果您使用的是标准 ACF Pro Gallery 字段,则 alt 属性包含在数组的第一层。

alt="<?= esc_attr( $_img['alt'] ); ?>"

否则,您应该能够使用 print_r( $_img ); 找到您需要的属性,例如,如果您的 $_img 包含一个 'photo' 键,您可能需要使用:

alt="<?= esc_attr( $_img['photo']['alt'] ); ?>"

文档和函数参考