3つほど試してみました。
Contents
【WordPress】タイトルと画像からアイキャッチ画像を生成・作成するプラグイン
Auto Featured Image from Title
使い方がわかりやすく投稿画面を更新すると、指定した画像が勝手に指定されます。その投稿だけ使わない設定もサイドバーにあります。タイトルを画像に反映できます。
ただ、無料プラグインとしては少々問題があります。有料で使うのならうまくいくかもしれません(未検証)
- 日本語が文字化けします。マルチバイトの問題がありそうです。有料版を使うとカスタムフォントが利用できるためうまくいくのかもしれません。
- 好きな画像をアップロードする機能は有料版。
- カテゴリごとに変更する機能は有料版。
- 生成される画像がタイトルを使うせいか日本語のパスになってしまいます。
このプラグインが料金は1番安いようです。
Auto Featured Image from Title
Automatically generates an image from the post title of a new or updated post and sets it as the featured image.
Auto Featured Image (Auto Generated)
使い方がわかりやすく投稿画面を更新すると、指定した画像が勝手に指定されます。その投稿だけ使わない設定もサイドバーにあります。タイトルを画像に反映できます。
- このプラグインも日本語が文字化けしました。
- カスタムフォントは有料機能です。
サブスクリプションは比較的安価ですが、買い切りは1サイト100ドル以上と少々高額です。
Auto Featured Image (Auto Generated)
Automatically generate a featured image from the post title (Background with post title overlay) from media library. This plugins generate a featured …
Auto Featured Image (Auto Post Thumbnail)
こちらも有料プラグインです。
Auto Featured Image (Auto Post Thumbnail)
Automatically generate the Featured Image from the first image in post or any custom post type only if Featured Image is not set manually.
スポンサーリンク
プラグインなしでタイトルと画像からアイキャッチ画像を生成する
ドンピシャのプラグインがなく、たぶん、そこまで難しくないはずなので、自作しようかと検討しています。
こちらの記事にヒントというかメモを書いてあります。
imagettftextとimagettfbboxのフォントの中央合わせ【phpの画像と文字の合成】 | ithands
少しははまったのでPHPの覚書です。 phpの画像と文字の合成 画像生成する方法としてはGoとImageMagickの2つがありそうです。 違いは次のとおりです。 簡単なタイトル画像生…
タイトルと画像からアイキャッチ画像を生成するプラグインを自作した
(追記)結局自作しちゃいました。WordPressのプラグイン開発はじめてでしたが、わりと開発の経験があればなんとかなりますね。ブラウザキャッシュの問題が面倒でした。
自作してアイキャッチ画像を変更しました。
機能としては次のとおりです。
- 画像と文字を組み合わせできる。
- カスタムテキストで改行なども自由自在。
- フォントの変更(Googleフォントを使えます)
- フォントサイズを変更
- テキストカラーの変更
- もちろん日本人が作ったため日本語は問題はありません
- 画像はゴミデータを作らず、上書きするように調整
動作が安定してバグが取れたら個人開発の同人活動としてBoothなどで販売するかもしれません。結構、他の仕事が忙しいため気長にお待ちください。
imagepngの使い方
PHP: imagepng – Manual
PHP is a popular general-purpose scripting language that powers everything from your blog to the most popular websites in the world.
圧縮します。
imagepng($image, null, 9, PNG_ALL_FILTERS);
インターレース形式にします。
imagepng($image, null, 9, PNG_ALL_FILTERS | PNG_INTERLACE_ADAM7);
ただ、画像生成時間とトレードオフの関係になるため微妙なところもあります。他の方法で容量削減を考えた方がよさそうです。
コメント