【问题标题】:Wordpress: Change Post Featured Image alt tags to the given alt tag while uploadingWordpress:在上传时将发布特色图片 alt 标签更改为给定的 alt 标签
【发布时间】:2016-12-15 17:00:30
【问题描述】:

我在上传时为图像提供了 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 标签

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    试试这个对我有用:)

    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);
    

    【讨论】:

    • @mahethekiller 您是否在functions.php 中添加了此代码?并尝试在return $html 之前添加die('call'); 以检查此过滤器是否适用于特色图片?>
    【解决方案2】:

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

    我只是将替代文本直接置于帖子的编辑模式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-26
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多