当我测试时get_the_post_thumbnail
(同时the_post_thumbnail
) 在WordPress 3.5.1上alt
属性按原样添加。如果you look at the source, 你会看到的get_the_post_thumbnail
使用wp_get_attachment_image
哪一个does add that alt
attribute. 默认情况下,该属性是图像文件名,但可以从wp-admin->Media
做你想做的任何事。
要么:
插件或主题已更改的输出get_the_post_thumbnail
, 可能通过post_thumbnail_html
过滤器,尽管我确实注意到代码中的其他过滤器,或者您的滑块或主题模板的工作方式与您想象的不一样。也许它没有使用get_the_post_thumbnail
, 例如如果没有看到相关代码,很难说得更多,或者确切地说这是哪里出了问题。
而且get_the_post_thumbnail
作用is not a pluggable function 所以我必须假设您正在尝试破解一个核心文件,而您不应该这样做。
编辑:
在您发布的最新代码中,您可以看到生成图像标记的部分:
<a href="<?php the_permalink(); ?>"><img src="<?php echo $image ?>"/></a>
它根本不是WordPress,而是一段定制的代码。这就是您需要添加
alt
属性
<a href="<?php the_permalink(); ?>"><img src="<?php echo $image ?>" alt="I am so alt it hurts!" /></a>
可以手动创建alt属性,也可以
copy the code from wp_get_attachment_image
$default_attr = array(
\'src\' => $src,
\'class\' => "attachment-$size",
\'alt\' => trim(strip_tags( get_post_meta($attachment_id, \'_wp_attachment_image_alt\', true) )), // Use Alt field first
);
if ( empty($default_attr[\'alt\']) )
$default_attr[\'alt\'] = trim(strip_tags( $attachment->post_excerpt )); // If not, Use the Caption
if ( empty($default_attr[\'alt\']) )
$default_attr[\'alt\'] = trim(strip_tags( $attachment->post_title )); // Finally, use the title
或者编写自己的函数来创建
alt
属性