WP-CLIでサムネイルを再生成する

WordPressで画像のサムネイルを再生成する必要に迫られた時、定番プラグイン「Regenerate Thumbnails」を利用すると思います。

ただ、作者様が故人となられているようで、AutomatticやWordPressコミュニティのメンバーがメンテナンスを継続してくれているようですが、どうしても更新が遅めとなっております。

また、Regenerate Thumbnailsのページ内でも言及されていますが、WP-CLIが使用できるならWP-CLIでの作業を強く推奨されています。

代替案

WP-CLI

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

Regenerate Thumbnails – WordPress プラグイン

なので、WP-CLIでサムネイルを再生成してみたいと思います。

目次

WP-CLIでサムネイルを再生成

事前にWP-CLIを使用できるようにしておいてください。(参考記事:WP-CLIをエックスサーバーで使えるようにしてみました

[user@server ~]$ wp media regenerate
Found 5 images to regenerate.
1/5 Regenerated thumbnails for "***********" (ID 189).
2/5 Regenerated thumbnails for "***********" (ID 173).
3/5 Regenerated thumbnails for "***********" (ID 159).
4/5 Regenerated thumbnails for "***********" (ID 151).
5/5 Regenerated thumbnails for "***********" (ID 150).
Success: Regenerated 5 of 5 images.

これだけで、サムネイルの再生成が完了します。多くの場合、Regenerate Thumbnailsより早く完了すると思います。

主なオプション

–skip-delete

このオプションなしで実行すると、再生成時に使用しないサムネイルを削除しますが、このオプションを付けると削除しないようになります。(Regenerate Thumbnailsと同じ動作)

[user@server ~]$ wp media regenerate --skip-delete
–only-missing

このオプションを付けると、足りないサイズのサムネイル生成だけを行います。

[user@server ~]$ wp media regenerate --only-missing
–yes

このオプションを付けると、確認メッセージが出た際に自動的に「はい」を選択します。

[user@server ~]$ wp media regenerate --yes

こんなときは

「Error: This does not seem to be a WordPress installation.」と表示されて、実行できない。

WP-CLIは、WordPressがインストールされたディレクトリ上で実行してください。

「libgomp: Thread creation failed: Resource temporarily unavailable」と表示されて、実行できない。

OpenMPが有効なImageMagick上で発生するエラーのようです。マルチスレッド処理が実施されないように環境変数等で設定するようにしてください。

[user@server ~]$ vi ~/.bash_profile
export MAGICK_THREAD_LIMIT=1
よかったらシェアしてね!
目次