僕の軽率な失敗 または僕は如何にして”functions.php”の編集を止めてWordPressを再インストールするようになったか

スポンサード リンク

Twitter、Facebook、はてなブックマーク、Google+……ブログを運営する人間であればそれらを多かれ少なかれ意識するものだろう。多分に漏れず、その大勢の中の一人である俺はプラグインを用いて共有リンクを貼っていたのだが、ふとある欲望が湧いた。

「なぜWP Social Bookmarking Lightでは記事の上部か下部のどちらかにしかボタンが設置できないのか。俺は欲張りだ。上にも下にもソーシャルなやつを貼りたいのだ。そもそもプラグインというやつはインストールをしすぎるとパフォーマンスが悪くなるというではないか。よし、これを外し、自力でソーシャルボタンを設置してやろうではないか」

早速、情報化社会の頼れる相棒Googleに尋ねてみると、存外答えは簡単に見つかった。作業はやや面倒だが、なあに一度設置してしまいさえすればあとは放っておけばいい。部屋の時計が軽快なメロディーとともに夜の21時を告げた。俺はWordPressの管理画面を開き、自慢の自作テーマファイルにコードを組み込み始めた。

  • ■参考:WordPress にはてブと Twitter と Facebook のボタンを10秒で貼り付けられるコードを書いてみたよ | ウェブル
  • ■参考:WordPressプラグイン「WP Social Bookmarking Light」を外すことにしました | けんけん.com
  • 作業を始め20分ほど経った頃だろうか。プレビューを何度か行い、スタイルシートの編集も終わっていた。設定したのは横長のボタンだ。だが、「こんな見慣れた小さなボタンでは駄目だ。現実と同様、ネットにおいても外見は重要なのだ。そうだ、もっと大きなボタンにしなければ」と考えを改め、先程までの作業で出来上がっていたコードを、「……いつか使わないとも限らないしな」とうろ覚えのやり方でコメントアウト、念のためCtrl+C、Ctrl+V、そして再度相棒から情報を仕入れて作業に没頭していった。

  • ■参考:新しくなった公式Twitterボタン(ツイートボタン)のデザインを修正する: 小粋空間
  • コードは書き終わった。あとはまたプレビューをするだけだ。俺はページをリロードする。真っ白だ。再度リロード。真っ白だ。まるで雪のようだ。

    俺はしかし、狼狽えなかった。どうせさっきのコメントアウトが間違っていたのだろう、確かに前々から構文エラーというやつには何度も苦しめられてきた、だが俺にはもう十分に免疫が出来ているのだからな、と鼻でせせら笑う。笑いながら無意識にキーボードを、Ctrl+A、Ctrl+C、という順に押した。

    Firefoxが唸りをあげていた。こいつはあれやこれやとアドオンを入れては俺に尽くしたがる癖に、こちらが多くを望めばすぐに熱を上げダウンしてしまうという厄介な女だ。だからと言って俺もこいつから離れられはしないのだが……。

  • ■参考:次世代ブラウザ Firefox ― 高速・安全・カスタマイズ自在な無料ブラウザ
  • 俺がコードを全選択、コピーしたのはこの火狐に対する防御反応だったのかもしれない。たとえば、そう、ブラウザバックでさっきまでの入力データが消えることなんてザラだ。WordPressで同様の事象に遭遇したことはないが、用心するに越したことはない。大丈夫、CLCLがクリップボードの履歴を監視し続けていてくれるのだから。

  • ■参考:CLCL
  • やり方をまた相棒から教わり(本当に頼りになるやつだ)、”functions.php”の末尾に記述されたコード、そこに正しくコメントアウトをタイプする。これでオーケー、オールコレクトだ。俺はそう確信した。

  • ■参考:PHPのコメントアウト: 一週間で覚えるPHP
  • 再びリロードする。……真っ白だ。

    俺の頭はフル回転で回り出す。おかしいだろ、おかしいよな。コメントアウトは正しく出来ている。何も間違ってはいない。確認した。リロード。真っ白。何故だ。

    FFFTPを立ち上げテーマフォルダにアクセスする。該当ファイルをローカルにダウンロード、開く、コメントアウトはちゃんと出来ている。TeraPadがわざわざ色を分けてまでそう教えてくれているのだ。

  • ■参考:FFFTP (エフエフエフティーピー) プロジェクト日本語トップページ – SourceForge.JP
  • ■参考:TeraPad
  • 文字コードか?サーバで文字コードが勝手に変わることなど考えられないのだが、そのときの俺は冷静さを欠いていた。UTF-8(N)で保存、上書きアップロード、リロード、真っ白。

  • ■参考:WordPress: EUC-JPからUTF-8への文字コード変換 | Chase Your Dream !
  • 俺の頭に光が赤く点滅し始めた。”functions.php”をサーバから削除する。リロード。今度は表示された。あるべきものがところどころ欠けた画面はどことなくフランケンシュタインの怪物を思わせる。また”functions.php”を見る。今度は改行の有無を確認した。末尾以降に無駄な空白はないか。…ない。phpはちゃんと”?>”で閉じられている。どこもおかしくなんかない。

  • ■参考:フランケンシュタイン – Wikipedia
  • もしかすると若干のタイムラグが発生しているのかもしれない。そういえば俺はWP Super Cacheを入れていた。そのせいかもしれない。キャッシュを削除。リロード。フランケンシュタイン。違う、”functions.php”を入れなければ。FFFTPにドラッグ&ドロップ。リロード。真っ白。もうわからない。

  • ■参考:WordPressの表示を速くする WP Super Cache
  • 火狐はもう限界かもしれない。さっきからやたら動きがスローモーなのだ。

    俺は火狐をいったん眠らせ、Chromeを召喚する。

  • ■参考:Google Chrome – ブラウザのダウンロード
  • “wp-config.php”に手を加え、エラーコードを吐かせる。たったの3行だ。Notice、Warning、Notice…。駄目だ。どれもこの現象とは関わりがありそうにない。元に戻す。リロード。文字化け。おい!

  • ■参考:WordPressで画面が真っ白になったら、最初にやるべきこと | Simple Colors
  • そのときの俺にはWordPressのデータベースが何かの拍子に壊れてしまったかのように思えた。”functions.php”が地縛霊のようにサーバにとり憑いてその体を蝕んでいるに違いないと思い込んだ。素人の俺が出来るのはもう、リセットボタンを押すことぐらいだ…。

  • ■参考:スグラボ ≫ 再インストールしてみる|WordPress(3.0.1)
  • 文字化けした管理画面から、ステータス表示されるURLを頼りにデータのエクスポートをする。だがダウンローダーは起動せず、ブラウザ一面に文字列が浮かんだ。くそっ。こんなところまで侵食してやがる。仕方なくそのままページをxmlで保存した。WebMatrixを起動させローカルサーバのWordPressでインポート出来るか試してみる。過去から現在までの記事がすべて再現される。問題はない。

  • ■参考:記事のインポートとエクスポート方法 ? WordPressの使い方 | ブログのバックアップ | WP SEOブログ
  • 念のためWordPressフォルダをまとめてダウンロードする。phpMySqlにログインしてデータベースをエクスポートする。火狐を起こし管理画面に文字化けがないのを確認して、プラグイン設定をスクリーンキャプチャする……!

    時計の針は23時を指していた。

    一度目のインストールではインストールフォルダを前回と変えてしまったため、記事内の画像のパスが変わってしまった。直し方がわからない。もう一回だ。

    二度目は設定からWordPressアドレスを安易に変えてしまい、アクセスが出来なくなった。くそっ、もう一回だ!

  • ■参考:WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版
  • 三度目。画像も正しく表示され、ドメインからトップページにアクセスも出来る。成功だ。

    あとは自作のテーマファイル、”functions.php”がしっかり機能してくれるかどうかだ……。

    時計の針は既に深夜2時を回っていた。

    テーマファイルをアップロードする。テーマ選択画面からプレビュー。真っ白。神様!

    もうどうしたらいいんだ……。

    やはり問題はこいつ、”functions.php”にあるのだ。

    そうだ!変更を加える前のテーマファイルがローカルにまだあったはずだ。そこの”functions.php”なら動作するかもしれない。試してみる価値はありそうだ。

    結果、ページはこれ以上なく完璧に表示された。見慣れたトップページが5時間ぶりに俺の前に姿を現した。

    やはり問題は編集後の”functions.php”にあったのだ。

    俺は編集前と後の二つの”functions.php”をエディタで開き、突き合わせる。

    同じように見える。だが……。

    編集前のファイルはの行数は、約70行。

    対して編集後の”functions.php”……。

    行数、約140行。

    お、おおっ、お前の仕業かーーーーーっ!!!!

    コードを上から順に見る。「// カスタムメニュー……// カスタムヘッダー……」というWordPressデザインブックが教えてくれた通りのコードの羅列。

    そして再び現れる、「// カスタマメニュー……// カスタムヘッダー……」

    !!!

    謎はすべて解けた……。

    そう、確かにphpは閉じられていた。だが、俺はコードの末尾しか見ていなかった。

    マウスホイールでスクロールアップすると、そこに現れたのは見るも無残な姿、php構文内にphp構文が記述されていた…。

    思い当たる節があった。そう、俺はあのとき確かにコードを全選択し、コピーした……。ほとんど無意識の行動だった。

    もしそのときにCtrl+Cではなく、Ctrl+Vを押してしまっていたとしたら?その前にコピーしていたものがペーストされてしまうだろう。

    そういうことだった。犯人は他の誰でもない、この俺自身だったのだ…。

    ―― 修正した”functions.php”は無事に機能し、ブログのデータも完全ではないが復元することが出来た。俺は新たにWP-DBManagerをインストールした。

  • ■参考:WordPress ? WP-DBManager ≪ WordPress Plugins
  • 「WordPressを再インストールする必要などなかった」という事実が俺に重くのしかかり、同時に「失敗は成功の母」という言葉を俺は自分に言い聞かせながら風呂に入らず寝た。

    プログラムは思った通りに動かない。書いた通りに動く。

    “functions.php”をさわるときはみんな気をつけようね!!

  • ■参考:php の構文チェック
  • スポンサード リンク

    最後まで読んで頂きありがとうございます。
    気に入って頂けたら、RSSフィードの購読をお願いします。

    RSS FEED

    « »