ずっと懸案だったアイキャッチ画像を外部から読み込む件、
良いプラグインを見つけた。
Featured Image From URL
試行錯誤
プラグイン無しで functions.php とcontent-loop.php にコードを書き込んでみた。➾ NOT Found
single.php では? ➾真っ白
プラグイン Featured Image from URL では ➾ 表示されないが、これはFlickr のURLの問題だと後に判明。
Featured Image From URL で再トライ & 不要なサムネールを取得させない作業
1)プラグインインストール
content-single.phpの以下のタグは引き続きコメントアウト(または削除)
<?php mh_magazine_lite_featured_image(); ?>
2)プラグイン:Auto Post Thumbnail は停止
3)子テーマの functions.php に以下を記入
/***** Image Sizes *****/
function mh_magazine_lite_image_sizes() {
add_image_size('mh-magazine-lite-slider', 0, 0, true);
add_image_size('mh-magazine-lite-content', 678, 381, true);
add_image_size('mh-magazine-lite-large', 0, 0, true);
add_image_size('mh-magazine-lite-medium', 0, 0, true);
add_image_size('mh-magazine-lite-small', 0, 0, true);
}
これにより、テーマが自動で作成するサムネールが678×381の一種類のみとなる(全ての数値をゼロにしないのは、先に入れた Wp Posts Carousel のサムネール取得にWPメディア上サムネールが必須となるため。カルーセル表示を終えたあとは削除可)。あとは WordPress Related Posts が150×150を自動作成するのみ。つまりWPのメディアにたまる画像は二種類となる。
※設定>メディアのサムネール三種類の数値を全てゼロにしておくこと
記事投稿時の作業
1)記事のアイキャッチ用にFlickrからエンベッド。
もしくは画像URLにHTMLでリンクさせ、img src で表示させる。
2)External Featured Image にはFlickr の画像URL(エンベッドで取得したコード内の img src のURL)を記入。
3)更新
4)カルーセルに表示させる場合のみ、更新後(更新によりサムネールが一つ出来ているはずなので、これを)サイドメニューからアイキャッチ画像に設定。
➾ でないとカルーセルに画像が表示されない。
➾ カルーセルで非表示になれば 不要な画像を削除可。
検証
Force Regenerate Thumbnails でリジェネレートしたところ、フロントページ(ウィジェット)のサムネール小(80×60)が削除されてしまい、元画像がそのまま出る。max-width を80pxにすると縦が34pxとか43pxとかまちまちとなる。
CSS で img サイズを固定してしまうと表示速度が落ちるので、このままにすることにした。functions.php の mh-magazine-lite-small
を 80 60 としてもいいけれど、それよりも問題は画像サイズが統一されていないことである。
これまではfunctionが該当サイズに縮小&切り抜いてくれていたため、サイズや比率が超アバウトであった。いかんなあとは思いつつ、気にかけていたのはマックスサイズの678×381以内ということだけ。画像の見栄えによって適当に切り抜いていたのだ。今後は同じサイズでアイキャッチを作成することを肝に銘じよう。たとえば640×380とか。
しかし、カルーセルがなければWPのメディア内に画像を置く必要は一切無くなる。せっかく入れたプラグインではあるが、やはりテーマの機能に頼ったほうがいいのかもしれない。またもや思案の種が出現してしまった。このカルーセル、気に入ってるんだけどなあ…。
あとちょっと気になるのが、Featured Image From URL のバグ(だと思うのだが)。admin/menu.php line30、103,104行目がワーニングとなる。ダッシュボードの表示が若干ずれているのがこれだろうか。サイトに問題は無さそうなのだけれど。似たようなプラグインがあるようなので、そっちを試してみようか。
コメント