前回の WordBench 東京12月勉強会で話題になったのでメモ。
WordPress のプラグインは rm コマンドで消しちゃダメだよ!という話。
WordBench 東京12月はじまりました!1人目は WordCamp Tokyo 2015 実行委員長の清野奨さんより、WordCamp Tokyo 2015 のレポート! pic.twitter.com/2zFRjJIjqX
— WordBench東京 (@wb_tokyo) December 19, 2015
なぜ rm コマンドで消してはいけないのか
プラグインを消す場合、管理画面から行うことをオススメします。つまり、FTP クライアントやターミナルを使ってフォルダごと消したらいけません。
なぜなら管理画面でボタンを押す際、ただフォルダを消すだけでなく、データベースに登録されたデータをお掃除する処理も走るからです。
#wbtokyo プラグインによっては unistall.php がサポートされていて、削除時にデータを消してくれる。これ豆な。https://t.co/gACW8LA7Li
— 高橋文樹@WordCamp東京2017 (@takahashifumiki) December 19, 2015
#wbtokyo なので、rm コマンドでプラグインを消すのは悪手。 wp plugin delete hoge ならオーケー。
— 高橋文樹@WordCamp東京2017 (@takahashifumiki) December 19, 2015
それでもコマンドラインからアンインストールしたい場合
でも、自分はターミナルで何でもやりたい派なんですという方は、WP-CLI の利用をオススメします。
WP-CLI をサーバーにインストールしておくと、WordPress の管理画面でやるようなことがひととおり何でも、コマンドラインからできるようになります。
WP-CLI のインストールは、WP-CLI のトップページ を参考にしてくださいね。以下の方法ならレンタルサーバーでも使えますよー。
プラグインを消すコマンド
たとえばプラグインを消す場合はこう。
このコマンドを使う場合は、管理画面でプラグインを削除するのと同じような処理が走ります。べんりですね!
register_uninstall_hook 追加しよう
とはいえ、プラグイン側で uninstall.php をサポートしてない場合もあるわけです。なので、ちゃんとお手入れされてるプラグインかどうかを見極めるのが大事だと思います!
やみくもにプラグイン入れまくるのは、私も反対です!よく「WordPress をインストールしたら必ずプラグイン10個!」みたいな記事があるけど、自分が本当に必要だと思うものを使うのが一番いいと思います。
プラグイン作者のみなさん!もし「自分でプラグイン作ったけど、register_uninstall_hook 対応してない!」という人はぜひやりましょう。私のことですけど…..
次の記事で、私が最近作った「この記事が良かったらいいね」プラグインを紹介しますー。そのまえにオプションの削除を追加しないといけないですが…..