プラグインの設定の削除方法
-
プラグインをインストールすると物によってはDBのwp_optionsテーブルに設定値を書き込むものがありますが、全てのプラグインがそうなのか分かりませんが、プラグインを削除しても設定値が残っている場合があります。
影響のない程度の設定値なら良いのですが、wp_optionsテーブルのcronの中にも設定が残っていて、プラグインの再インストール(フォルダも削除)を行うと、消えるどころか追記されます。今回状況が発生しているのはBackUpWordPress 0.4.5で、再インストールを繰り返した分だけcronに記述される為、1日に1回のはずのスケジュールが数回発生します。
cronの中身は他のプラグインでも使用しているようで、丸ごと削除と言うわけには行かないようです。参考までに現状のcronの中身を提示してみます。
a:10:{i:1263260304;a:1:{s:19:"wp_scheduled_delete";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1263265339;a:1:{s:25:"bkpwp_schedule_bkpwp_hook";a:1:{s:32:"68ebb629e2e8e8c7d22e43acc0c1fc82";a:3:{s:8:"schedule";s:11:"bkpwp_daily";s:4:"args";a:6:{s:6:"preset";s:8:"sql only";s:6:"status";s:6:"active";s:11:"reccurrence";s:11:"bkpwp_daily";s:4:"info";s:21:"SQL Only Backup Daily";s:7:"default";i:1;s:7:"created";s:19:"2010-01-08-02-29-56";}s:8:"interval";i:86400;}}}i:1263282316;a:1:{s:16:"wp_version_check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1263301334;a:1:{s:20:"jseries-update-check";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1263301815;a:2:{s:17:"wp_update_plugins";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args";a:0:{}s:8:"interval";i:43200;}}}i:1263345054;a:1:{s:17:"wp_db_backup_cron";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:5:"daily";s:4:"args";a:0:{}s:8:"interval";i:86400;}}}i:1263345282;a:1:{s:25:"bkpwp_schedule_bkpwp_hook";a:1:{s:32:"6f457d78535133baa48c20d687934af9";a:3:{s:8:"schedule";s:11:"bkpwp_daily";s:4:"args";a:6:{s:6:"preset";s:8:"sql only";s:6:"status";s:6:"active";s:11:"reccurrence";s:11:"bkpwp_daily";s:4:"info";s:21:"SQL Only Backup Daily";s:7:"default";i:1;s:7:"created";s:19:"2010-01-08-01-12-27";}s:8:"interval";i:86400;}}}i:1263346223;a:1:{s:25:"bkpwp_schedule_bkpwp_hook";a:1:{s:32:"36470b7c175a62cfd262b5fef66778fa";a:3:{s:8:"schedule";s:11:"bkpwp_daily";s:4:"args";a:6:{s:6:"preset";s:8:"sql only";s:6:"status";s:6:"active";s:11:"reccurrence";s:11:"bkpwp_daily";s:4:"info";s:21:"SQL Only Backup Daily";s:7:"default";i:1;s:7:"created";s:19:"2010-01-12-01-30-02";}s:8:"interval";i:86400;}}}i:1263432987;a:1:{s:21:"dbmanager_cron_backup";a:1:{s:32:"40cd750bba9870f18aada2478b24840a";a:3:{s:8:"schedule";s:16:"dbmanager_backup";s:4:"args";a:0:{}s:8:"interval";i:604800;}}}s:7:"version";i:2;}
この状態から不要な設定値だけを安全に削除する方法はあるのでしょうか?
よろしくお願いいたします。
-
shokun0803さん、こんにちは。
そのまま、編集することも出来なくはないですが、ちょっと分かりにくいかもしれません。
cronの中身は、配列を文字列として扱えるようにserializeされたものなので、一旦unserializeをかけて、配列に戻し、不要な配列を削除後、再度serializeをかけたものを、phpMyAdminから更新してあげれば直ります。私は、BackUpWordPressのcronが何で記録されるのかまでは調査していませんが、配列の中身を見たところ、
- dbmanager_cron_backup
- bkpwp_schedule_bkpwp_hook
- wp_db_backup_cron
のうちのいずれかでしょう。
jim912さん、ありがとうございます。
unserializeしたことで、不要なものがはっきり分かりました。
おかげさまで不要な物を削除することができました。実際には過去に試したBackUp用のプラグインの設定がほぼ全てcronに残っている状態でした。BackUpWordPressの1つだけ残して削除することですっきりしましたが、動作確認は現在行っている所です。
しかし、プラグインを削除してもcronが残る、ましてやBackUpWordPressはどんどん追記されるとなると、他のプラグインでも同様のことが考えられます。今後どのように対応していけばよいのか困惑しています。
プラグインなので気軽に試用と言う訳にも行かなくなりました・・・それは明確に「プラグインの作り方が悪い」と言えます。そういう行儀の悪いプラグインの情報を集積し、「使うべきではないプラグイン」として公開する必要があるでしょう。
また、同時に作者に対して「実装を改善せよ」と要求する必要もあります。プラグインを無効にしたりアンインストールしたときのフックがあるので、これを使えば自動的に cron を削除させることは可能です。それを作り込まない作者の責任です。有名なプラグインでも実装が悪い場合がある (All in One SEO Pack は head 要素の書き換えで ob_start() を使う等) ので、「有名だから安心」とは言えないのが難儀なところです。
こういうのはたぶん Codex 日本語版、いや、本家 Codex で「Plugin whose preprocess_comment is bad」とか項目を作りますか;-)
WP-DB-Backup、DBManager、BackupWordPress共に日本語版Codexでも紹介さているプラグインです。
残念なことに(確認はしていませんが)この3つのプラグイン共にcronを削除してくれません。wordpressをはじめたばかりの人や使用していても何も知らずに使っている場合がほとんどだと言えます。(私もそうでした・・・)
かといって、プラグイン全てのソースを読むわけにもいかず、信用するしかないのが現状であるとすれば、やはり本家ないし、せめて日本語版Codexで情報の共有がされるといいですね。
今後導入されるなんでしたっけ?公式プラグイン?のようなものができるんですよね?開発の止まったプラグインの再開発なんてこともあるといいのですが・・・
みなさんこんにちは。解決済みトピックにすみませんが、Codex での情報共有について。
これらのプラグインのページを日本語Codex に作り、そこにこの情報を載せるのはどうでしょう。で、Codex のバックアップのページからもリンク。
手っ取り早く、バックアップのページに注記を入れるのも有用ですね。
別件として提案するつもりでしたが、例えばこんな感じで(Plugin:WordPress Exploit Scanner)プラグインの個別ページを作って、ノウハウを書き込みあったり、情報を載せている個人サイトへリンクしたりするのはどうかなと考えていました。
今回の件も、上の情報や、不要データの削除方法を(書かれる機会があれば)、Codex からそのページへリンクするか、Codex のそのプラグインのページに載せるなどできるとよいかなと思いました。
# 将来、プラグインディレクトリの翻訳もできるようになるのかもしれないけど、ユーザからの情報を載せられるかは分からないので、現時点では、Wiki かどこかに情報を集めていくのがよいのかなーと。
# 将来しかるべき場所ができたら、そのときに情報を移動すればいいので。すみません、とりあえずサポート外の話題に変更しました。
bonopsさんのご意見ですが、早速実行に移すことは難しいのでしょうか?
何人かの意見がまとまらないと新規ページ作成は不可能なのかな?
レンタルサーバ情報のように翻訳以外のページならご協力できる部分なので、日本語版Codexオリジナルであっても情報ページが増えてくれるのは助かります。
他にもフォーラムで解決したFAQ的なページもあるといいなぁ・・・(もしくはtipsとか?)これらのプラグインのページを日本語Codex に作り、そこにこの情報を載せるのはどうでしょう。で、Codex のバックアップのページからもリンク。
日本語Codexで独自にやるのではなくて、本家で行うほうがいいと思います。
レンタルサーバーは、ホスティング会社が日本のケース等で日本独自の情報がたくさんあります。
プラグインの情報は、日本語等のローカライゼーションに関する情報はそれほど無いと思います。このトピックのcronの話も、どの言語でも発生する現象なので、世界全体で取り組むほうが良さそうです。
shokunさん、Mizunoさん、レスありがとうございますー。
>shokunさん
bonopsさんのご意見ですが、早速実行に移すことは難しいのでしょうか?
何人かの意見がまとまらないと新規ページ作成は不可能なのかな?まだ手探り状態なのですが、
プラグインの個別ページの作成については、Mizunoさんのようなご意見や、他にもいろんな意見が出るかもしれないので、このトピックとは別に話す場を設けますね。なので、今回の件は、shokunさんのサブページとして書き始めてもらって、バックアップ等のページからリンクするのではどうでしょう。
(後でサブページから普通のページに移動できます)
利用者ページに [[/Plugin:BackUpWordPress]](※) と書くと、サブページ作成画面への赤リンクができます。※ 鉤括弧は半角で。
# 半角2つずつで括ったら自動リンクになっちゃったです。。(^-^;>Mizunoさん
日本語Codex で独自にやるのではなくて、本家で行うほうがいいと思います。
えと、これは、「日本語圏内だけに留めるのではなく」という趣旨であって、先に本家ですべき、日本語では後で、とおっしゃっている訳じゃないですよね。
・日本語で情報共有する
・その一方で、本家側にもフィードバックする
で ok?プラグインの個別ページ作成についてはご異論ありということで、上述のとおり、別途検討の場を設けますね。
bonopsさん。
とりあえず作り始めてみましたが、wikiに慣れていないので難しいです(汗)
何を書けばいいのかも正直戸惑っています。
簡単に自分が解決した方法と知っている内容だけは記入してみました。最終的には
別途検討の場を設けます
に頼ればいいですよね???
>bonopsさん
・日本語で情報共有する
・その一方で、本家側にもフィードバックする世界全体で情報共有できればいいので、本家でもページを作るようにし、
・日本語英語両方に書き込める人は両方に書き込む
・英語の書き込みは無理、という人は日本語Codexに書き、「英語版には未記入」とコメントを書いておくという形式でいかかでしょう。
shoさん、Plugin:BackUpWordPress ページの作成、ありがとうございますー。
何を書けばいいのかも正直戸惑っています。
簡単に自分が解決した方法と知っている内容だけは記入してみました。phpコードに「現状のcronの中身」を入れて動かしてみてやっと、shoさんと jimさんの会話が分かりました。。(^-^; 個人的にも書いてくださった情報に感謝です。
他にも載せるとしたらですが、例えば、冒頭の「現状のcronの中身」のような cronデータの例とか、unserializeするとこうなって、この部分を削除…、みたいなのはどうでしょう。
初めてこういうデータを触る人も安心かな。。と思って。。wiki の記号は気にせず、プレーンテキストでも大丈夫ですよ。(後からみんなで整えていくことが多いです)
書いたまま表示したいものは<pre>
タグで囲めば ok、…なはずなのですけど、コード中の pre がだめですね。。大変でしたよね、すみません。工夫してくださってありがとうございました!最終的には
別途検討の場を設けます
に頼ればいいですよね???
ですです。
あと、「WordPress のバックアップ」からもリンクしてみました。
他にも注釈が必要なページをご存知でしたら、直に書き込むか教えてやってください~。>Mizunoさん&みなさん
世界全体で情報共有できればいいので、本家でもページを作るようにし、
・日本語英語両方に書き込める人は両方に書き込む
・英語の書き込みは無理、という人は日本語Codexに書き、「英語版には未記入」とコメントを書いておく私は英語でやり取りできないので、どなたか音頭とっていただけませんか?
英語版Codex に書く場合は、既存ページは普通に編集して ok です。
新規ページは、自分の利用者ページのサブページにドラフトを作って wp-docs ML に投稿、だと思います。
詳細:
・Codex:Guidelines – New Pages
・Codex:Creating a New Page
・編集アカウントは、WordPress.org、フォーラムやプラグインディレクトリ等とは別に取得本家はプラグインディレクトリに情報を集めているような気がしていて、あちらではフォーラムに投稿するものなのかなーと思ったりもするのですが、どうなのでしょう。。
フォーラムとのリンクや、新バージョン互換性リストも Codex は廃止してプラグインディレクトリで投票・集計できるようになったりとか。他にもフォーラムで解決したFAQ的なページもあるといいなぁ・・・(もしくはtipsとか?)
いいですよね。やりませんか?別トピック立ててもらえたら乗ります~。(‘∇’)/
いいですよね。やりませんか?別トピック立ててもらえたら乗ります~。(‘∇’)/
実はずいぶん以前にも「フォーラムでの有用な情報の転載」という問題を投げたのですよね。談話室で止まっていますが;)
最近フォーラムの回答レベルが異様に高いので、この財産を埋もれさせるのはもったいないと思うのですよ。このフォーラムの検索も使いづらいですし;Pあと、別件みたいになりますが、Codexのwikiですけど、よく他のwiki(私の記憶だとゲームとかの攻略wikiとか?)だとログインしていなくてもページの下に簡単な1行コメントが残せたりするじゃないですか。
まあ、あれだと情報でなくて質問が羅列されてしまいかねないのでちょっと問題ですが、フォーラムの管理者が作成した特定のスレッドにリンクを張って、例えばプラグインならそのプラグインの総合質問スレッドにCodexから直接飛べたり、tipsのページからそのtipsに関する不具合などのスレッド(バージョンアップで動かなくなったとか?)に飛べたりすると便利なのかな?とか。ちなみに別トピってフォーラムでってことですかね?談話室?
- トピック「プラグインの設定の削除方法」には新たに返信することはできません。