home.phpとindex.php

前回、既存のURLを維持するため、wordpress1つでさまざまな方法をとっていることを紹介したが、この時点ではサイトトップを表示するのにhome.phpを使用していた。

しかし、固定ページ+ブログを構築する際、困ったことが起こった。

表示設定で固定ページを選択し、サイトトップにページで作ったindexを指定、indexにはページテンプレートの記述をいれたhome.phpを指定してある。次にブログページにはURLを維持するため空で作ったblogページを親とするindexを指定。このindexにはブログ用のテンプレートを割り当てるか、自動でindex.phpが割り当てられる。と、考えていた。

しかし、現実にはどちらのページにもhome.phpが適用されてしまった。

サイトトップに自動でhome.phpが割り当てられるのは分かっていた。日本語Codexにもそう書かれてある。しかし、ブログトップにもhome.php->index.phpの順で割り当てられるとは思わなかった。しかも指定したページテンプレートは見事に無視される。
home.phpはループなしでがっつり作りこんでいるのでブログとしては役に立たない。これは困った。

そこで、home.phpを使用するのをやめた。サイトトップのindexには今まで作っていたhome.phpをリネームしてページテンプレートとして割り当てて、ブログトップにはブログ用に作成したページテンプレートを割り当てた。
すると、サイトトップには割り当てたページテンプレートが適用される。が、ブログトップはindex.phpが適用された。どうやら固定ページを指定した場合のブログトップに指定したページにはページテンプレートを適用できないようだ。もちろんhome.phpは削除している。

まあ、これでサイトトップとブログトップが無事表示できたわけなのでOKなのだが。
固定ページをサイトトップとして使いたい場合のhome.phpの使用には十分注意してもらいたい。

WP-DBManagerでバックアップ

2010/1/14追記:どうも動いていなかった模様。ファーストサーバから回答を頂いた。

「現在ご契約中のサーバでのデータベース機能(MySQL) は、ホスト名で
のアクセスを前提に提供させて頂いており、MySQL のパスはご案内いた
しておりません。

また、弊社サーバでは mysqldump をご用意いたしておりません。

  ※個別にmysqldump をご用意させていただく等の対応も
    行なっておりません。」

フォーラムでも混乱を招いてしまったので早めに追記しておきます。

以前にもWP-DBManagerの記事を載せたのですが、今回wordpress2.8.4、WP-DBManager2.50でファーストサーバーのバックアップ方法を覚書。以前の記事では一部エラーが残っていたが、今回はきっちり動きました。

WP-DBManagerはプラグインの新規追加から検索すれば簡単に見つかります。インストールも自動でOK。
有効化すると「バックアップフォルダが安全じゃないよ!」と怒られるので、プラグインフォルダにあるhtaccess.txtを.htaccessにリネームしてWP-DBManagerが自動生成したwp-content配下のbackup-dbフォルダにアップロード、以降怒られません。

日本語化の方法は今回は小粋空間さんを参考にしました。ご覧あれ。

日本語化するとメニューも「データベース」になります。ここからDB オプションを選びましょう。
mysqldumpのパスもmysqlのパスも自動検索は無理です。以下の設定で。
mysqldumpのパス:

/usr/local/mysql

mysqlのパス:

/usr/local/bin

これでDBバックアップをクリックすればエラーはでないはずです。試しに手動バックアップしてFTPで確認してみてください。メールでも送れます、便利ですねぇ。