KUSANAGIにはWP-CLIが予めインストールされています。
このWP-CLIを使うと、コマンドラインで色々と便利なことができます。
今回はその1つ、サムネイル再生成について紹介します。
アイキャッチの画像はKUSANAGIのイメージキャラクター草薙沙耶 ©PRIME STRATEGY
定番プラグイン「Regenerate Thumbnails」もWP-CLIを推奨
サムネイル再生成が必要なのはテーマを変えた時やデザイン・レイアウトを変更したときなど。
多くの記事ではプラグイン、それも「Regenerate Thumbnails」を使えと書いています。
それだけ定番中の定番のプラグインであり、かつ方法です。
(Luxeritasのようにテーマ自体がサムネイル再生成機能を持っているものもあり)
まあ、それでもいいのですが。
Regenerate Thumbnailsのページには、こう書いています。
代替案
WP-CLIもしサーバーのコマンドラインにアクセスできるなら、このプラグインの代わりに、大量のサムネイル処理のために高速 (HTTPリクエストのオーバーヘッドが無い) かつ スクリーン の中で動作できる WP-CLI の使用を強く推奨します。詳しくは media regenerate コマンド のドキュメントを参照してください。
なんとRegenerate Thumbnails自らWP-CLIでの作業を推奨しています。
WordPressプラグインにおける作業設定画面上でも同じことが書かれています。
サムネイル再生成はそれくらい重い作業ってことだね
しかも作業中のウィンドウ閉じられないものね
WP-CLIとは?
WP-CLIは、ざっくり言うと、超便利なコマンドラインツールです。
詳しくはこちらに記しています。
ぜひ、あわせてお読みください。
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()についてはこちらに記されています。
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は本当に便利です
ぜひ試してみてください