wordpress--K2は悪くなかっ・・・た?

前回のエントリの続きです。 表示されていなかったK2ライブアーカイブ機能を復活させました。バージョンアップが原因なのか、はたまた・・・ 以下、詳細。

まずは環境。 Apache 1.3.37 PHP 5.1.6 MySQL 5.1.11

Wordpress ME2.1.2

K2 0.95 RC1

さて、まずはヘッダーのメニューに表示されない原因を探ってみます。 K2のオプションからライブアーカイブ機能をONにすると、自動的にPageが生成されます。 このPageがヘッダに表示されるわけです。てことは、単純にこのPageが消えてるわけですね。さっぱりと。

とは言っても消した覚えなんぞとんとありません。 納得いかないながらも、復旧作業に入ります。 まずは、オプションでライブアーカイブ機能をONにしたときに生成されるレコードを調べます。 アーカイブページ生成時に、PageのIDを下記のようにして取得しているようです。

k2/app/archive.php $archives_id = $wpdb->get_var(“SELECT post_id FROM $wpdb->postmeta WHERE meta_key = ‘_wp_page_template’ AND meta_value = ‘page-archives.php’ LIMIT 1”);

てことは、WHEREにある meta_key = ‘_wp_page_template’ AND meta_value = ‘page-archives.php’ というレコードが必要ってことですね。てことで、postmetaテーブルを検索~ ・・・ない。全く見あたらない。またしても消えている。 仕方ない、同じようなレコードを追加しておこう。

次はPage生成をしているようだ。 上記のIDの他に値を入れ込むコードが続き、最後にpostテーブルに追加を行っている。 postテーブルで似たようなデータを検索・・・やっぱり、ない。 上でも言っているように、Page本体がいなくなっていることが明らかになりました。 postmetaテーブルの必要なレコードがなんらかの原因で消えてしまい、Pageの生成が行われてなかったんですね。 手動でPageを追加し、様子を見てみる。

ヘッダにArchiveの文字が表示。だが・・・リンク先は404エラー。

管理メニューからPageを再保存してみる。今度は表示されました。

さて、ここからが謎というか、本当の原因かもしれません。 Archiveの復活に調子を良くし、高機能ナビゲーションも復活させようとしました。 K2>オプション>高機能ナビゲーションON

うーん、JSのエラーが出るなぁ・・・と思ったその時! Archiveが消えてる!!!

なんじゃそりゃああああってんで、データベースを確認しにいくと・・・ 先ほど作成したpostテーブルのPageデータがめちゃくちゃになってました。 ステータスはおかしくなってるわ、タイトルは日本語?になってるわ・・・ 高機能ナビゲーションをONにした影響なのでしょうか。ME2.1.2の影響なのでしょうか。 ここら辺で調べるのが面倒になってきたので、Pageを修復して終了。

Wordpressのテーマ、K2は確かに便利ですが、多くのプラグインが内蔵されています。WP自体をバージョンアップすると、 内蔵プラグインにも影響が出ることもあるのでしょう。 今後は予備のテーマを一つ用意しておいた方がよさそうですね。

>>Extended Live Archives: http://www.sonsofskadi.net/extended-live-archive/