午後から→オーバークロック

駆け出しハッカー()によるプログラミング・サービス開発備忘録。

魔改造された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をいじったときは管理画面は共通だったのでちょっと焦りました。