KUSANAGI MAGAZINEで「きもおたわーどぷれす。」が紹介されました! クリックで公式サイトが開きます。

WP-CLIを使ってサムネイルを高速に再生成する【KUSANAGI8・9対応】

この記事は約8分で読めます。
記事内に広告が含まれています。

KUSANAGIにはWP-CLIが予めインストールされています。
このWP-CLIを使うと、コマンドラインで色々と便利なことができます。
今回はその1つ、サムネイル再生成について紹介します。

アイキャッチの画像はKUSANAGIのイメージキャラクター草薙沙耶 ©PRIME STRATEGY

スポンサーリンク

定番プラグイン「Regenerate Thumbnails」もWP-CLIを推奨

サムネイル再生成が必要なのはテーマを変えた時やデザイン・レイアウトを変更したときなど。
多くの記事ではプラグイン、それも「Regenerate Thumbnails」を使えと書いています。

Regenerate Thumbnails
1枚または複数のアップロードした画像のサムネイルを再生成します。画像サイズやテーマの変更時に役立ちます。

それだけ定番中の定番のプラグインであり、かつ方法です。
(Luxeritasのようにテーマ自体がサムネイル再生成機能を持っているものもあり)

まあ、それでもいいのですが。
Regenerate Thumbnailsのページには、こう書いています。

代替案
WP-CLI

もしサーバーのコマンドラインにアクセスできるなら、このプラグインの代わりに、大量のサムネイル処理のために高速 (HTTPリクエストのオーバーヘッドが無い) かつ スクリーン の中で動作できる WP-CLI の使用を強く推奨します。詳しくは media regenerate コマンド のドキュメントを参照してください。

引用:WordPress公式「Regenerate Thumbnails」

なんとRegenerate Thumbnails自らWP-CLIでの作業を推奨しています。
WordPressプラグインにおける作業設定画面上でも同じことが書かれています。

サムネイル再生成はそれくらい重い作業ってことだね

しかも作業中のウィンドウ閉じられないものね

スポンサーリンク

WP-CLIとは?

WP-CLIは、ざっくり言うと、超便利なコマンドラインツールです。
詳しくはこちらに記しています。
ぜひ、あわせてお読みください。

KUSANAGIでWP-CLIとcronを使ってデーターベース最適化&バックアップを自動化する【KUSANAGI9対応・初心者向け】
本稿ではKUSANAGIでWP-CLIとcronを使ってデーターベース最適化およびバックアップを自動化する方法について記します。 WP-CLIはKUSANAGI...

WP-CLIで作業をサムネイル再生成を行うメリットはRegenerate Thumbnailsの述べている通り。

「軽い」からです

Regenerate ThumbnailsでできることはWP-CLIで基本できます。

スポンサーリンク

WP-CLIを使ったサムネイルサイズ一覧の確認

wp media image-size

まず再生成の前にテーマが登録しているサムネイルのサイズを確認してみましょう。
「要らない」という方は「wp media regenerateでサムネイルを再生成する」まで進んで下さい。

ターミナルにログインして次のコマンドを打ち込みます。

cd /home/kusanagi/(プロファイル名)/DocumentRoot
wp media image-size

私の環境ですと、次のようにリストが表示されます。

+--------------+-------+--------+------+-------+
| name | width | height | crop | ratio |
+--------------+-------+--------+------+-------+
| full | | | N/A | N/A |
| 2048x2048 | 2048 | 2048 | soft | N/A |
| 1536x1536 | 1536 | 1536 | soft | N/A |
| large | 800 | 0 | soft | N/A |
| medium_large | 768 | 0 | soft | N/A |
| thumb752x423 | 752 | 423 | hard | 16:9 |
| thumb320 | 640 | 360 | hard | 16:9 |
| thumb640 | 640 | 0 | soft | N/A |
| medium | 500 | 0 | soft | N/A |
| thumb360 | 360 | 0 | soft | N/A |
| thumb160 | 320 | 180 | hard | 16:9 |
| thumb150 | 300 | 300 | hard | 1:1 |
| thumbnail | 300 | 0 | hard | 0:300 |
| thumb120 | 240 | 135 | hard | 16:9 |
| w120_thumb | 240 | 240 | hard | 1:1 |
| thumb100 | 200 | 200 | hard | 1:1 |
| w60_thumb | 120 | 120 | hard | 1:1 |
| thumb120 | 0 | 0 | soft | N/A |
| thumb160 | 0 | 0 | soft | N/A |
| thumb150 | 0 | 0 | soft | N/A |
| thumb752x423 | 0 | 0 | soft | N/A |
| thumb100 | 0 | 0 | soft | N/A |
| thumb640 | 0 | 0 | soft | N/A |
| w60_thumb | 0 | 0 | soft | N/A |
| w120_thumb | 0 | 0 | soft | N/A |
| thumb360 | 0 | 0 | soft | N/A |
| 2048x2048 | 0 | 0 | soft | N/A |
| 1536x1536 | 0 | 0 | soft | N/A |
| thumb320 | 0 | 0 | soft | N/A |
+--------------+-------+--------+------+-------+

多すぎ!というツッコミは無しにしてください
実際に登録されているのは途中までです

表の見方を説明します

widthとheightは解像度。
thumbnailの「300 0」は横幅300固定です。

cropはsoftで加工無し、hardで何らかの条件でトリミング。
「300 300」なら、余った領域をトリミングして処理します。

ratioは画像比率。
「thumbnail」の「0 300」は「このサイズでは縦長のサムネイルを許容しない」という制限です。
(横が300までの設定になっている点に注意、最大で300×300となります)

wp media image-sizeの注意点

あくまでも表示するだけだからね

サムネイルサイズの登録はお使いのテーマのfunctions.phpで行ってください

例えばリスト中のthumb360は私が新しく追加したもの。
こんな感じで書いてやれば生成するサイズを追加できます。

add_image_size('thumb360', 360, 0, false);

逆に登録を削除するとき。

、WordPress標準設定(large、medium、thumbnail)なら、管理画面左サイドバーの「メディア設定」を開いて、不要なサイズの幅と高さを「0」にしてください。

その他なら、こちらをfunctions.phpにコピペして不要なサイズに変更してください。

function remove_thumbnail_sizes() {
remove_image_size( '1536x1536' );
remove_image_size( '2048x2048' );
remove_image_size( 'thumb150' );
remove_image_size( 'thumb100' );
}
add_action('init', 'remove_thumbnail_sizes');

remove_image_size()についてはこちらに記されています。

remove_image_size() – Function | Developer.WordPress.org
Removes a new image size.
スポンサーリンク

WP-CLIを使ったサムネイルの再生成

wp media regenerate

それではサムネイルの再生成をしてみましょう。
ターミナルで次のコマンドを打ち込みます。

cd /home/kusanagi/(プロファイル名)/DocumentRoot
wp media regenerate

たったこれだけ。
(前項から読んでいて、既にDocumentRootに移動している場合は1行目は省略してください)
あとは作業終わるのを待つだけです。

wp media regenerateの主なオプション

–skip-delete

デフォルトでは登録されていないサムネイルを削除します。
この削除をスキップしたい場合は次の通り入力します。

wp media regenerate --skip-delete

違いは、テーマで登録していないサムネイルを残すか削除するかの差です

デフォルトでは過去のサムネイルを全て消去します。
skip-deleteオプションが問題となるのは新しくテーマを変えたとき。
以前のサムネイルを残しておかないと、記事の画像が吹っ飛んでしまうこともあります。

……と書かれると怖いかもしれませんが。

もしオプションつけないで画像が吹っ飛んでも対処できます。
新しいテーマに元のテーマで使ってたサムネイルサイズを登録してサムネイルを作り直しましょう。

–only-missing

作業時間を縮めたいなら、次の通り入力します。

wp media regenerate --only-missing

ざっくり言うと「再生成」を省略して「生成」だけするオプションです。
画質などの問題がない限り、既に正しく存在するものを改めて作り直すのは無駄ですので。

このオプションはむしろ入れた方がいいと思うよ
作業時間まったく違うから

–yes

途中で確認を飛ばしたければ–yesオプションをつけます。

wp media regenerate --yes

もっとも確認なんてほとんどありませんし、つけてもつけなくても構いません。

スポンサーリンク

まとめ

プラグイン入れてWordPress上でGUIで操作した方が楽は楽だけど
WP-CLIだとやっぱり速いね

WP-CLIは本当に便利です
ぜひ試してみてください

サイトを始めたい・引っ越したい方へ

おすすめレンタルサーバー「ConoHa WING」
Webサーバー処理速度 国内最速!
サイト管理・カスタマイズのタイパも抜群!
自動化AIのWEXALによって他社より負担を減らせます
各種キャンペーン施策によりコスパも抜群!
ConoHaに初めて入会かつ12か月以上のWINGパックなら
下のボタン経由で契約すると最大5000円の割引が受けられます

この記事を書いた人

素人の備忘録です。
素人がゆえにトラブルにぶつかりまくってきたので、同じように困った方の役に立てたらいいなと思ってます。
8年来のKUSANAGI推し。

元公安調査庁職員、発達障害(ADHD)

天満川 鈴をフォローする
KUSANAGI・WEXAL
タイトルとURLをコピーしました