3年前から Feature Image from URL(FIFU)のお世話になっている。
画像を外部から取得し(ということはWPのメディアにあげず)、
かつサムネールも外部から取得したい、という悲願があって、
これがFIFUで叶うからであった。
テーマは当サイトがMH Magazine、別サイトのVirtueでも利用。Virtueは問題ないのに(アーカイブのサムネールが出なくなってしまったが、phpにコードを書いて解決済み)、こちらでは一つ問題があった。勝手にメディアライブラリに画像が生成されてしまうのだ。
仕方なくいちいち削除していたのだが、バージョン2にアップデートしたあと、メディアライブラリから削除するとサムネールが出なくなってしまった。投稿を更新すれば表示されるのだが、これでまたメディライブラリに自動生成される。Virtueではこんなことはない。
テーマの問題か、他のプラグインとのバッティングなのか。wpXに使っていないWPサイトが一つあったので、そちらで検証してみた。色々とやっているうちにかったるくなり、本サイトで作業するほうが良いのではないかと思い、当サイトのWPを(大胆にも)初期化してしまった。
DBのバックアップからのインポートでは全く同じなので、WPのエクスポート&インポートで投稿記事と固定ページだけを移してみた。アイキャッチとして入れている画像URLはそのまま残るだろうし、ほとんどの記事トップにはFlickrのURLで画像を貼っているので問題はないはず。プラグインはFIFUとのバッティングを確認しながら、ひとつずつ入れていく。
この方法で手間なのはウィジェットやメニューの再設定。それでも文句は言わず、しこしこやった。設定で必要なコードはコピペしておき、その他必要な個所はキャプチャでメモ。
結果は骨折り損のくたびれもうけ。やはりメディアライブラリに画像が自動生成されてしまう。
てなことをやっていて、あることに気づいた。メディアライブラリの表示切替えによって画像の数が異なるのだ。私がいつも見ていたリスト表示にはどんどんサムネール画像が自動で生成されるのに、タイル表示に切り替えると手動でメディアにアップした画像のみが表示されている。
FTPでサーバーに接続してみた。サーバーにあるのはこのタイル表示にある画像だけである。が~~ん。とちょっとショックだった。ということは、こいつらライブラリにリスト表示されてはいるが、ライブラリにはいないということ?
リスト表示にある画像をWPメディアの編集画面で見ると、ファイルのURLはしっかり外部になっている。& 画像のパーマリンクをクリックすると404Not Foundとなる。外部においた画像をプラグインがどんどんメディアに画像として自動生成されてしまうのなら、このプラグインの意味はない。けれど、ただリンクを(画像サムネール付きで?)表示しているだけであるのなら、問題はないわけだ。
厳密にいうと、タイル表示にも自動生成される場合があった。が、とにかくサイトを元に戻さなければいけない。これならNewStatPressやPopularPosts等のカウントを引き継ぐのをあきらめる必要がないので、保存してあったDBからさっくり復元。
翌日、(理由はあいかわらず不明なれど)どういう場合にメディアに自動生成されてしまうかが判明した。
この間、FIFUの設定を一か所変えた。Auto Set First Imageタブの最初の設定項目で、use the first image as featured imageをONにした。
FIFUを入れると、投稿編集画面の右サイドメニューにFIFUのアイキャッチ用のボックスが出る。WPのアイキャッチ挿入画像の下である。が、上記のように設定しておけば、編集画面でわざわざFIFUのアイキャッチURLを設定しなくても済む。
手動で設定しなくても、自動でトップ画像のURLが挿入される。おまけに、WPのアイキャッチも自動で設定されている。つまりアイキャッチはWPとFIFUの両方で挿入されているようなかたちになる。ここで下手にどちらかを削除したりしてはいけない。
それは良いのだが、以前手入力で入れていた投稿で、ここにURL設定している画像が、どうやらWPメディアに自動生成されてしまうということが判明。仕方がないので、2014年くらいからの投稿をざっくりチェックし、この部分のURLを削除、更新。一部放置もあるけれど、ほぼこれで整理されたと思う。やれやれ。
それにしてもFIFU、なかなか優れプラグインだと思うんだけれど、日本語の言及がほとんどない。使ってる人少ないのかなあ。
ついでにトップページの画像サイズの指定を調整
設定>メディアでは取得する画像サイズをすべて0にしている。トップページ及びアーカイブページの各サムネールサイズは、テーマのfunctions.phpで指定されている。この規定と表示サイズにずれ?があったので、修正した。
たとえばトップページの中サイズのサムネールはmh-magazine-contentとして取得しているのだが、このサイズが 678×381ピクセルとなっている。ところが実際の表示は327×184。CSSでリサイズされているのだ。他に678×381で表示される個所が(カスタマイズした当サイトでは)ないので、functions.phpで実際の表示サイズである327×184に修正。
ついでにmh-magazine-large。678×509と縦サイズがかなり大きくて間延びした感じ。ここを378×381と横長にした。
最後に、フッターのFeedの画像が出なくなっていた件。HTMLコードを新しいテキストにコピペし、FeedのURLの最後の/をいったん削除したら、CSSが効かなくなってしまった。
あわてて/を入れ直し、旧テキスト(ダブって指定されていた)も削除。元に戻った。画像も表示されるようになっていた。不思議だけど、解決したからいいや。
コメント