Wordpress:在上传时将特色图片alt标记更改为给定的alt标记

时间:2016-12-15 05:35:43

标签: php wordpress

我在上传时为图片提供了alt标签,但它没有拍摄给定的图片alt标签,它显示空白

我尝试添加此过滤器但仍然无法正常工作

/* Register callback function for post_thumbnail_html filter hook */
add_filter( 'post_thumbnail_html', 'meks_post_thumbnail_alt_change', 10, 5 );

/* Function which will replace alt atribute to post title */
function meks_post_thumbnail_alt_change( $html, $post_id, $post_thumbnail_id, $size, $attr ) {

    $post_title = get_the_title();
    $html = preg_replace( '/(alt=")(.*?)(")/i', '$1'.esc_attr( $post_title ).'$3', $html );

    return $html;

}

帖子内容显示自loop-single.php文件

<div class="entry-content">
    <?php the_content(); ?>
    <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
</div><!-- .entry-content -->

如何将这些alt标签用于我的帖子特色图片

2 个答案:

答案 0 :(得分:0)

试试这个对我有用:)

function change_post_thumbnail_html($html, $post_id, $post_thumbnail_id, $size, $attr) {
    $id = get_post_thumbnail_id();
    $src = wp_get_attachment_image_src($id, $size); 
    $alt = get_the_title($id); // gets the post thumbnail title
    $class = $attr['class'];
    $html = '<img src="' . $src[0] . '" alt="' . $alt . '" class="' . $class . '" />';
    return $html;
}
add_filter('post_thumbnail_html', 'change_post_thumbnail_html', 99, 5);

答案 1 :(得分:0)

我发现错误,似乎以前的开发人员手动将图像添加到帖子中,并且还设置了特色图像。所以我感到困惑。

我只是将替代文字直接放在帖子的编辑模式中。