Post thumbnail alt title

时间:2017-06-19 作者:Hank Scorpio

我想知道帖子缩略图是否需要“Alt title”,如“title”,以及如何将其添加到我的相关帖子查询中。。。我正在使用以下代码获取帖子缩略图:

<div class="td-module-thumb">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
<?php if (has_post_thumbnail()) {
the_post_thumbnail(array(324,235));
} else {
echo \'<img src="\' . get_bloginfo(\'template_directory\') . \'/images/no-thumb/td_324x235.png" />\';
}
?>
</a>
</div>

4 个回复
最合适的回答,由SO网友:Johansson 整理而成

有必要设置alt 如果浏览器无法加载图像或访问者正在使用屏幕阅读器,则所有图像的值。

你有两个选择。可以使用特色图片的标题(有时可能为空),也可以使用帖子的标题作为alt.

您可以使用get_post_meta(). 使用它非常简单:

$alt = get_post_meta ( $image_id, \'_wp_attachment_image_alt\', true );
echo \'<img alt="\' . esc_html ( $alt ) . \'" src="URL HERE" />\';
它应该在循环中使用,或者通过$post 对象或ID。

另一种方法是使用帖子的标题作为alt 文本为此,您可以使用:

echo \'<img alt="\' . esc_html ( get_the_title() ) . \'" src="URL HERE" />\';
您可以设置条件并检查缩略图是否有标题,如果可用,可以使用它代替帖子标题:

if ( $alt = get_the_post_thumbnail_caption() ) {
    // Nothing to do here
} else {
    $alt = get_the_title();
}

echo \'<img alt="\' . esc_html ( $alt ) . \'" src="URL HERE"/>
如果要添加alt 直接归因于get_post_thumbnail(), 可以将其作为数组传递给函数:

the_post_thumbnail( \'thumbnail\', [ \'alt\' => esc_html ( get_the_title() ) ] ); 

SO网友:Tom Woodward

此示例使用媒体库中设置的alt文本。我更喜欢它,因为对于使用典型WordPress选项输入alt文本的用户来说,这种行为更加一致。

$thumbnail_id = get_post_thumbnail_id( $post->ID );
$alt = get_post_meta($thumbnail_id, \'_wp_attachment_image_alt\', true);   
the_post_thumbnail( \'full\', array( \'alt\' => $alt ) ); ?>

SO网友:Mohammad Shiralizadeh

最简单的解决方案是以下代码。

$thumbnail_id = get_post_meta( $post->ID, \'_thumbnail_id\', true );
$img_alt = get_post_meta ( $thumbnail_id, \'_wp_attachment_image_alt\', true );

echo $img_alt;
或填写代码:

$thumbnail_id = get_post_meta( $post->ID, \'_thumbnail_id\', true );
$img_alt = get_post_meta ( $thumbnail_id, \'_wp_attachment_image_alt\', true );

if(! $img_alt){
    $img_alt = get_the_title();
}

SO网友:Peyman Naeimi

您可以在WordPress主题中使用以下代码:

<div class="td-module-thumb">
    <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
        <?php if (has_post_thumbnail()) {
            echo \'<img src="\' . the_post_thumbnail_url( array(324,235) ) . \'" alt="any thing you want" title="Some Text" />\';
        } else {
            echo \'<img src="\' . get_bloginfo(\'template_directory\') . \'/images/no-thumb/td_324x235.png" alt="any thing you want" title="Some Text" />\';
        }
        ?>
    </a>
</div>

结束

相关推荐