先ほど、重い腰を上げて(ぉぃ)、WordPress用画像展示プラグイン「wp-kougabu」の改造に挑戦しておりました。
- プラグイン配布元
- wp-kougabu @ WordPress Plugins/JSeries
- 関連記事
- WordPress 2.5 のショートコードと wp-kougabu 画像ギャラリー @ hiromasa.another :o)
- 【WordPress】画像展示プラグイン「wp-kougabu」導入!(その0)
自分がもくろんでいたことは次の通り。
- URLに年月情報を付加したときに、その年月に該当する画像のみを一覧表示する。たとえば、「/gallery/2008/05/」と指定すれば2008年5月投稿分の画像のみを出力する。
- URLをこれまでどおりに指定すると、従来どおりすべての画像を一覧表示する。
結論から申し上げますと…
に終わってしまいました。
成功していれば、この記事のタイトルを『【WordPress】画像展示プラグイン「wp-kougabu」導入!(その1)』にしていたはずなのに!
この記事の執筆時点ではすでに改造前の状態に戻しておりますので再現できませんが、改造していたときは、たとえば「/gallery/2008/」のように指定すると2008年分の画像のみを表示させるところまでは出来ていました。
ところが、「/gallery/2008/05/」のように指定すると、何故か想定外の単独記事のページに飛ばされてしまいます。
WordPressのURIの処理方法ってよく分かりませんねぇ。
一応、私は下記のような改造を施そうとしておりました。
「wp-kougabu.php」(ヴァージョン0.11)のソースコード110行目にある、
-
foreach ($this->imageInfo as $image) {
という記述の前後に数行追記したかったわけです。
-
// -- Edit by Telmina 2008/05/18 Start --
-
$base_gallery_path = '/gallery';
-
$path_info = $_SERVER['REQUEST_URI'];
-
// -- Edit by Telmina 2008/05/18 End --
-
foreach ($this->imageInfo as $image) {
-
// -- Edit by Telmina 2008/05/18 Start --
-
continue;
-
}
-
// -- Edit by Telmina 2008/05/18 End --
…こんな具合に。
しかし、先述のように「/gallery/2008/05/」などとURLを指定すると、そもそも「wp-kougabu.php」が呼ばれないようです。
「年別までなら分けられます」でごまかすにも、それでも年ごとの画像の数が多いので、あまり意味がありません。
そもそも、クエリ文字列を使わずに、URIに「/」を複数使ってクエリパラメータ代わりにすることは、WordPressでは不可能なのでしょうか。
また機会を改めて、今度はクエリ文字列を使う方法を考えてみます。
てゆうかはじめからそうしていればよかったのかもしんまい…。










2個のコメント
王道としては、wp-includes/rewrite.php で提供される WP_Rewerite API を利用して、カスタムの URL 体系を追加することです。Permalink Redirect Plugin などを参考にすれば、どう実装すればいいか分かるかもしれません。
あとは、.htaccess で PATH_INFO っぽい URL を クエリー文字列に書き換えてしまうことですね。こちらは単純に実装できると思います。
おお! そんなのがあったのですか!?
初めて知りました(マジ)。
参考にさせていただきます。ありがとうございます!
改造中、試しに
$_SERVER['PATH_INFO']の中身を確認しようとしていたのですが、そもそも値が何もセットされていなかったようです。
ウソみたいな本当の話。
コメントを書く