サムネイルに自動生成画像ではなく元画像を表示する方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

以下について回答します。

エントリーカードでは、デフォルトでサムネイルに自動生成された320px幅の画像が使用されます。
しかし、場合によってはこの自動生成画像ではなく、元画像そのものを表示したいことがあります。

上記ではエントリーカードのみを対象としていますが、エントリーカードだけでなく、全てのサムネイルを元画像に変更します。

この記事では、この方法について説明します。

実装手順

以下のコードをfunctions.phpに追加します。

// 投稿・固定ページのアイキャッチ元画像
add_filter('post_thumbnail_html', function ($html, $post_id, $post_thumbnail_id, $size, $attr) {
  if (!is_admin()) {
    $image_url = wp_get_attachment_image_src($post_thumbnail_id, 'full');
    if ($image_url) {
      $html = '<img src="' . esc_url($image_url[0]) . '" class="card-thumb-image wp-post-image" decoding="async">';
    }
  }

  return $html;
}, 10, 5);


// カテゴリー・タグ一覧のアイキャッチ、NO IMAGE元画像
add_filter('get_image_sized_url', function ($sized_url, $url, $w, $h) {
  return $url;
}, 10, 4);

さいごに

今回紹介した方法を使えば、サムネイルとして自動生成された小さい画像ではなく、元画像をそのまま表示できます。
これにより、画像の比率を変更しても、プラグイン「Regenerate Thumbnails」でサムネイルを再生成することなく、元画像をそのまま表示できます。

タイトルとURLをコピーしました