久しぶりに更新しようとしたらWordPressサイトでウィジェットが設定できない

久しぶりに更新しようとしたらWordpressサイトでウィジェットが設定できないということがあって困ってしまいました。ウィジェットの設定画面にいってもJavascriptのエラーが出てしまい、なにも操作できなくなりました。

出ていたエラーは私の場合は以下でした。(デベロッパーツールで確認)

Uncaught Error: Syntax error, unrecognized expression: a[rel=]

調べた所、これはWordpressをアップグレードしたことによりJQueryのバージョンがあがり、それによって過去動いていたコードが動かなくなることによる問題とのことでした。

下記のあたりが大変参考になりました。

もっとずっとおせわになったサイトがあったのですが、アドレスがわからなくなりました…。残念。

で、私の場合は下記ステップで対処できました。

  • 該当のテーマのフォルダに移動
  • grep -rnw . -e “a\[rel=” を実行
  • 該当の箇所にてa[rel=のあとがきちんとダブルクォーテーションで囲まれるようにJavascriptを更新

本来はテーマ自体を更新してそれでおしまいになるのでしょうけれども、私の場合にはテーマが有料テーマでかなり作り込まれており、テーマを更新してしまうとかなりの工数をかけて再度新しいバージョンの流儀でサイトを構成し直す必要があったので、コードの修正のみにして対処しました。

それにしても、久しぶりに触る環境だと色々なことを忘れていてやばいですね。

自分用メモ。自分が管理しているサーバー上でwordpressのブログを増やす場合の手順。

Upgrade is needed, please log in with the admin account.

・・・。ということになったのですが、以下のスレッドで議論済みでした。

  • http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg680442.html

WP-Postratingを導入したのですが、投票するとLoadingのまま投票が反映されない状況になってしまいました。ので、調査、修正。

まず、Live HTTP headersでHTTPヘッダを見てみたところ、404 Not Foundになっていました。

GET /windowsadmin/wp-content/plugins/wp-postratings/wp-postratings.php?pid=51&rate=3&rndval=1243471099555 HTTP/1.1
Host: ebi.dyndns.biz
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.2; ja; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://ebi.dyndns.biz/windowsadmin/2009/05/26/%e3%82%af%e3%83%a9%e3%83%83%e3%82%b7%e3%83%a5%e3%83%80%e3%83%b3%e3%83%97%e8%a7%a3%e6%9e%90/
Cookie: wordpress_ece0d3d196c9b3ed5f0760b4e9bf982c=ebi%7C1243642438%7Cbb9560ded49eaf0d01ff35def4fac69b; wordpress_ece0d3d196c9b3ed5f0760b4e9bf982c=ebi%7C1243471379%7Cf038ccd475e6a5c29728d6150c5fb3e9; wordpress_test_cookie=WP+Cookie+check; wordpress_logged_in_ece0d3d196c9b3ed5f0760b4e9bf982c=ebi%7C1243642438%7Cf7a781b4495f0cc935fbb9fee0195cf3; wp-settings-2=m0%3Dc%26m1%3Do%26m2%3Dc%26m3%3Dc%26m4%3Dc%26m5%3Do%26m6%3Dc%26m7%3Dc%26m8%3Dc%26m9%3Do; wp-settings-time-2=1243469639; __utma=148456931.1850464781.1231372651.1242795366.1243223137.70; __utmz=148456931.1242280948.66.12.utmccn=(organic)|utmcsr=google|utmctr=Power+Shell+errorlevel|utmcmd=organic

Amazon Showcaseが2.0にバージョンアップしていたので、自動でアップデート・・・したら表示されなくなってしまいました。結局原因はAmazonのWebサービスのURLが間違っているという結構しょっぱいミスが原因。ソースコード上で直接以下のように変更して対応。
http://ecs.amazonaws.co.jp/onca/xml → http://ecs.amazonaws.jp/onca/xml

以下のサイトを参考にさくっと設定できました。ありがたい。

私の理解では以下のような動きになっているようです。
#クライアントがアクセスする(そのディレクトリを/usr/share/wordpress/へシンボリックリンクを張っておく)
#/etc/wordpress/wp-config.phpに制御が移る
#/etc/wordpress/wp-config.php内で指定したサイトごとのconfigファイルに制御が移る
#サイトごとのconfigファイル内でDB名、ユーザー名、パスワードなどが指定される。(これをサイトごとに分けておけばよい)

1件のコメント

wordpressの再インストールでプチはまり

嫁のためにwordpressを再インストールしようとしてプチはまりをしました。いつものとおりGoogle先生に聞いてみたら、自分のサイトが上位に出てきてうれしいやら情けないやら(書いたという事実自体覚えてない!)。しかも自分のサイトを見ながら作業をしたら、わかりづらい記述があって2度げんなり・・・。

image

インストール手順以外で別途調べないとできなかったのはデータベースの削除作業。何度もやってる作業なのに覚えられない・・・。

  • データベースの削除
    • mysql -u ユーザー名 -p
    • パスワード入力
    • drop database wordpress;

日本語化

あとは嫁にはきっと英語の管理画面は気持ちが悪いだろうと思って日本語化。Wordpressって日本語化して使う方法が3パターンもあるんですね。ちょっと混乱しました。

結局debianを使っているので、apt-get upgradeでアップグレードがきちんとできる方法がよいと思い、日本語リソースのみの導入にしておきました。

インストールはやっぱり簡単!Wordpressいいなぁ。でも、rubyをできるようになりたい私はやっぱりtdiaryがいいですけどね。