筆者がWordpressを始めたのはかなり前で、プラグインのインストールといえば、プラグインのサイトから、ファイルをダウンロードし、自サイトにFTPして、起動させていた。
自サイトだけでなく、他のサイトも管理しており、新規インストールも行なっていると、何か、管理画面が違う。今や、プラグインはプラグインのホームページから追加できるのである。他のCMS、JoomlaやDrupalもそうなっているので、驚くには当たらない。
また、自サイトでは、一度作ってしまうと、プラグインの入れ替えなどもたまにしか行わないので、まさか、自サイトで「新規追加」ができないとは、思ってもいなかった。
ググってみると、以下のような記載が多かった。
- Wordpress.comなどを利用していて、そもそもプラグイン導入ができる環境でない
- マルチサイトで利用していて、管理ページが違う
- 表示はあるが導入できない(権限の違い - 今回の問題とは別)
- 一覧が表示されない(これも別の問題)
問題の特定
同じサーバーにWordpressをクリーンインストールすると、正しく「新規追加」は表示さているので、ファイルシステムの問題ではない。
プラグインを全部止めてみたが、やはり治らない。
となると、ユーザーの権限が怪しいが、管理者権限自体を変更できる管理ページはない。ちなみに、権限は、データベースの"XXX_options"テーブル(XXX_はサフィックスで、サイトによって違います)の"option_name"フィールドが「XXX_user_roles」のレコードに権限の内容が書かれています。
このレコードの”option_value”フィールドの値をまっさらでインストールしたWordpressとアップデートを続けた自サイトのものを比較すると、以下の項目がないことがわかりました。
s:15:"install_plugins";BINGO! そういえば、確かに、テーマにも「新規追加」ボタンがありません。
s:14:"install_themes";
この値は、シリアライズされているので、十分に気をつけてください。
手順
- phpMyAdminなどで、上記のテーブルを探し、該当する、レコードを見つける。
- option_valueの値をコピーして、保存しておく。(うまくいかなかった時に戻せるように)
- 管理者の権限の記述を探す
a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:59:{
日本語化している場合
a:5:{s:13:"administrator";a:2:{s:4:"name";s:27:"管理人 - (Administrator)";s:12:"capabilities";a:59:{s - 上記では「59」項目あるので、1つ増やす場合は、「60」に替える
- delete_pluginの後ろあたりに、install_plugins を追加する。
b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";
- 保存して、管理画面を確認する。
まとめ
- 最新のワードプレスではプラグインやテーマがインターネット経由でインスールできるが、更新を続けたワードプレスでは、できないことがあるようだ。
- 原因は管理者権限の設定が、アップグレードで変更されないためと思われる。
- ここでは、データベースのデータを直接変更して、修正を行った。
0 件のコメント:
コメントを投稿