Alt标签拒绝在WordPress中工作

laximzn5  于 2022-10-24  发布在  WordPress
关注(0)|答案(3)|浏览(169)

我的图片Alt标签似乎不起作用。我可以在管理员中为特定的图像添加alt标签,但我似乎无法显示该标签。
我的alt标签仍然是空的。
现在我一直在四处寻找解决方案,我发现了以下几点:

get_post_meta($attachment_id, '_wp_attachment_image_alt', true)

但这似乎根本不起作用,alt标记只是保持为空。
目前,我的代码如下:

<img src="<?php the_sub_field('image'); ?>" title="<?php the_title(); ?>" alt=""/>

对此有什么解决方案吗?
我假设有一个标准的WordPress函数可以做到这一点,因为我们可以选择在管理区域插入一个alt标记

rks48beu

rks48beu1#

这样试一试:(尚未测试)

$alt = get_post_meta($attachment->ID, '_wp_attachment_image_alt', true);
$image_title = $attachment->post_title;

这将引导您实现以下目标:

<img src="<?php the_sub_field('image'); ?>" title="<?php echo $image_title; ?>" alt="<?php echo $alt; ?>"/>
k75qkfdt

k75qkfdt2#

可能你正在使用Chrome浏览器,这是Chrome的问题。
如果不试一下这个,它肯定会对你有帮助。

<img src="<?php the_sub_field('image'); ?>" title="<?php the_title(); ?>" alt="image"/>

谢谢。

dtcbnfnu

dtcbnfnu3#

从你在评论中发布的小提琴代码来看,我想说你需要改变你设置ACF字段的方式。
get_post_meta($attachment_id, '_wp_attachment_image_alt', true)不起作用,因为$attachment_id为空。
看起来您已经将您的ACF字段设置为返回图像URL,而不是图像对象或图像ID。我建议更改字段以返回ID。然后您可以修改代码,如下所示:

<div class="row bottom-margin-half">
    <?php $i=0 ?>
    <?php $teamMembers=count(get_sub_field( "persoon")); ?>
    <?php while (the_repeater_field( 'persoon')) { ?>
    <?php if ($i==0 || $i % 4===0 ) { ?>
    <div class="row">
        <?php } ?>
        <div class="col col-lg-3 col-sm-4 teamdescription">
            <?php echo wp_get_attachment_image( get_sub_field( 'image' ), 'full', false, array( 'class' => 'r5' ) ); ?>
            <p><b><?php the_sub_field('naam'); ?> <?php the_sub_field('linkedin'); ?></b>
            </p>
            <p>
                <?php the_sub_field( 'functie'); ?>
            </p>
        </div>
        <?php $i++; ?>
        <?php if ($i==0 || $i % 4===0 || $teamMembers===$i) { ?>
    </div>
    <?php } ?>
    <?php } ?>
</div>

wp_get_attachment_image函数为您创建图像元素并处理alt标记。

相关问题