Skin Select:

【WordPress】「wp-kougabu」改造失敗(ToT)

 先ほど、重い腰を上げて(ぉぃ)、WordPress用画像展示プラグイン「wp-kougabu」の改造に挑戦しておりました。

プラグイン配布元
wp-kougabuWordPress Plugins/JSeries
関連記事
WordPress 2.5 のショートコードと wp-kougabu 画像ギャラリーhiromasa.another :o)
【WordPress】画像展示プラグイン「wp-kougabu」導入!(その0)

 自分がもくろんでいたことは次の通り。

  • URLに年月情報を付加したときに、その年月に該当する画像のみを一覧表示する。たとえば、「/gallery/2008/05/」と指定すれば2008年5月投稿分の画像のみを出力する。
  • URLをこれまでどおりに指定すると、従来どおりすべての画像を一覧表示する。

 結論から申し上げますと…

改造失敗

に終わってしまいました。 :lol:

 成功していれば、この記事のタイトルを『【WordPress】画像展示プラグイン「wp-kougabu」導入!(その1)』にしていたはずなのに! :lol:

 この記事の執筆時点ではすでに改造前の状態に戻しておりますので再現できませんが、改造していたときは、たとえば「/gallery/2008/」のように指定すると2008年分の画像のみを表示させるところまでは出来ていました。
 ところが、「/gallery/2008/05/」のように指定すると、何故か想定外の単独記事のページに飛ばされてしまいます。

 WordPressURIの処理方法ってよく分かりませんねぇ。

 一応、私は下記のような改造を施そうとしておりました。

 「wp-kougabu.php」(ヴァージョン0.11)のソースコード110行目にある、

PHP:
  1. foreach ($this->imageInfo as $image) {

 という記述の前後に数行追記したかったわけです。

PHP:
  1. // -- Edit by Telmina 2008/05/18 Start --
  2. $base_gallery_path = '/gallery';
  3. $path_info = $_SERVER['REQUEST_URI'];
  4. $plink = str_replace($base_gallery_path, '', $path_info);
  5. // -- Edit by Telmina 2008/05/18 End --
  6. foreach ($this->imageInfo as $image) {
  7.     // -- Edit by Telmina 2008/05/18 Start --
  8.     if ($plink && (FALSE === strpos($image['link_url'], $plink))) {
  9.         continue;
  10.     }
  11.     // -- Edit by Telmina 2008/05/18 End --

 …こんな具合に。

 しかし、先述のように「/gallery/2008/05/」などとURLを指定すると、そもそも「wp-kougabu.php」が呼ばれないようです。
 「年別までなら分けられます」でごまかすにも、それでも年ごとの画像の数が多いので、あまり意味がありません。

 そもそも、クエリ文字列を使わずに、URIに「/」を複数使ってクエリパラメータ代わりにすることは、WordPressでは不可能なのでしょうか。

 また機会を改めて、今度はクエリ文字列を使う方法を考えてみます。
 てゆうかはじめからそうしていればよかったのかもしんまい…。 :cry:

2個のコメント

  1. Gravatar
    2008/05/18 日曜日, 15:03:32 に投稿 | パーマリンク

    そもそも、クエリ文字列を使わずに、URIに「/」を複数使ってクエリパラメータ代わりにすることは、WordPressでは不可能なのでしょうか。

    王道としては、wp-includes/rewrite.php で提供される WP_Rewerite API を利用して、カスタムの URL 体系を追加することです。Permalink Redirect Plugin などを参考にすれば、どう実装すればいいか分かるかもしれません。

    あとは、.htaccess で PATH_INFO っぽい URL を クエリー文字列に書き換えてしまうことですね。こちらは単純に実装できると思います。

  2. Gravatar
    2008/05/18 日曜日, 15:08:09 に投稿 | パーマリンク

    wp-includes/rewrite.php で提供される WP_Rewerite API

     おお! そんなのがあったのですか!?
     初めて知りました(マジ)。

     参考にさせていただきます。ありがとうございます!

    .htaccess で PATH_INFO っぽい URL を クエリー文字列に書き換えてしまう

     改造中、試しに
    $_SERVER['PATH_INFO']
    の中身を確認しようとしていたのですが、そもそも値が何もセットされていなかったようです。
     ウソみたいな本当の話。

コメントを書く

メールアドレスが公開されたり他で使われたりすることはありません* 印の項目は必須項目です。
*
*

関連記事

51179 pages viewed, 529 today
19168 visits, 171 today
FireStats icon Powered by FireStats
このページの先頭へ