記事中の画像がサムネールに(プラグインなし)! Virtue で試してみた…

kimonotop

先日作成したVirtuの別サイト、
List Category Post+Featured Image From URL というプラグインを使って、
外部(Flickr)から画像を取り込むようにカスタマイズした。
ネックだったのは、これだとカテゴリ別アーカーブページのリストにサムネール画像が表示されないこと。
あきらめていたのだが、ふとしたことから解決策を発見。
しかもプラグインなしというのがすごい!

参考サイト:記事内の最初に使用されている画像を取得する[WordPress]

コードを追加したファイルは子テーマのfunctions.phpと、templates/content.phpの二つ。

functions.php

以下のコードを追加する

function catch_that_image() { 
global $post, $posts; 
$first_img = ''; 
ob_start(); 
ob_end_clean(); 
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', 
$post->post_content, $matches); $first_img = $matches [1] [0]; 
if(empty($first_img)){ //Defines a default image $first_img = "/images/default.jpg"; } return $first_img; 
}

templates/content.php

<div class=”col-md-5 post-image-container”><div class=”imghoverclass img-margin-center” itemprop=”image” itemscope itemtype=”https://schema.org/ImageObject”>のなかを以下のように変更する。

 <a href="<?php the_permalink() ?>" title="<?php echo esc_attr(get_the_title()); ?>">
 <img src="<?php echo catch_that_image(); ?>" alt="<?php the_title(); ?>" />
 </a> 

 

  • トップへ戻る
  • カテゴリアーカイブ
  • HOME

コメント

メールアドレスが公開されることはありません。* は必須項目です。


*