投稿のサムネイルに "Title"のように "Alt 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>
ブラウザが画像を読み込めない場合や訪問者がスクリーンリーダーを使用している場合は、すべての画像にalt
値を設定する必要があります。
2つの選択肢があります。おすすめの画像のキャプション(空白の場合もあります)を使用するか、投稿のタイトルをalt
として使用します。
キャプションは get_the_post_thumbnail_caption()
を使って取得できます。それを使うのはこれと同じくらい簡単です:
echo '<img alt="' . esc_html ( get_the_post_thumbnail_caption() ) . '" 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() ) ] );
この例では、メディアライブラリに設定されている代替テキストを使用します。一般的なWordPressオプションを使用して代替テキストを入力するユーザーにとって、動作がより一貫しているので、私はそれを好みます。
$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 ) ); ?>
あなたの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>