0

我的图像 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 标签

4

3 回答 3

0

可能是您使用的是 Chrome 浏览器,这是 chrome 的问题。

或者如果不是试试这个,它肯定会对你有所帮助。

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

谢谢。

于 2013-10-14T12:19:39.750 回答
0

试试这种方式:(尚未测试)

$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; ?>"/>
于 2013-10-14T10:19:07.963 回答
0

从您在评论中发布的代码来看,我想说您需要更改设置 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 标签。

于 2016-06-02T18:28:11.973 回答