魔改造されたWordPress Ver2.8の手動アップデートやその他
研究室のブログに使用しているWordPressが古いバージョンなのでバージョンアップしたいのに、
色々改造してあって管理画面にバージョンアップのメニューが表示されない
(というか殆どの機能が表示されない。)
ということで、手動アップデートしました。
マニュアル
WordPress のアップグレード/詳細 - WordPress Codex 日本語版
普通に公式オンラインマニュアルに詳しく書いてある!と思ったら2.0~2.6.5だったので
その先のリンク
WordPress のアップグレード - WordPress Codex 日本語版
を参考にした。
見ると、wp-includesとwp-adminディレクトリはごっそり新しいのに入れ替えて、
新しい方のwp-contentの中身のファイルとルートディレクトリのファイルは全て上書き保存するだけらしい。
以上を完了すると、アクセスしたときにデータベースの更新をするためのリンクが表示されたので、
素直に従って無事アップデート完了。
データベース
アップデートしたのに管理画面に機能制限がかかったままなので、改造テーマのせいじゃね?と予想。
テーマを変えるために、直接データベースをいじってみる。
公式のデータベース構造リファレンスを見ると、何かoptionが怪しそうである。
探してみるとビンゴ。
Themes
template The slug of the currently activated theme (how it is accessed by path, ex. /wp-content/themes/some-theme: some-theme would be the value) Default: 'default' Data type: String
mysqlでアクセスして(ユーザ名とパスワードはwp-config.phpに書いてあった)、対象行の値を変更。
しかし、エラーが出る。もう少し探ってみると
How to Change WordPress Themes Directly From the Database | AppThemes Docs
UPDATE wp_options SET option_value = 'ClassiPress' WHERE option_name = 'template'; UPDATE wp_options SET option_value = 'classipress' WHERE option_name = 'stylesheet'; UPDATE wp_options SET option_value = 'classipress' WHERE option_name = 'current_theme';
思いっきり書いてあった…。ほかにもあったのか。なるほど。
その他
結局管理画面はテーマを変えただけじゃ直らなかったが、
もしかして管理者権限でログインすればいけるんじゃないかと気付き、usersテーブルを探る。
すると、adminというユーザが確かに存在することを確認(これくらいログ残しておいてくれ〜〜)
管理者権限で入ると、すんなり色々表示されたので解決。
まとめ
wp-contentディレクトリとwp-config.php・wp-setting.phpおよびmysql以外を入れ替えるだけで
簡単にアプデ出来て感動した。データがちゃんと切り分けられてる。
あと、機能制限はどうやらfunctions.php(wp-adminにもそれぞれのテーマにもある)でやってたみたい。
そこまでいじれるのか〜。昔WordPressをいじったときは管理画面は共通だったのでちょっと焦りました。