Yuriko.Net 個別記事
2008-08-10

WP 2.6 にしたらカテゴリー/タグ URL が変わってしまった
WordPress 2.6 へのアップグレードを見送っていた当サイトですが、一足飛びに、WordPress 2.6.1 ベータ版にアップグレードしました。2.6 正式版よりもバグが少ないとにらんでのことです
しかし、困った問題が発生しました。それは、カテゴリー URL が「http://www.yuriko.net/cat/ほげほげ/」→「http://www.yuriko.net/arc/cat/ほげほげ/」に変わってしまったことです。タグ URL も同様に「arc/」がついてしまいます。これは、パーマリンク構造を「/arc/%year%/%monthnum%/%day%/%postname%/」にしているために、先頭にある「/arc/」をカテゴリー URL、タグ URL にも補完してしまっているのでしょう。この挙動は不可思議なので、元に戻してもらいたいですよね……。さっそくチケット #7490を切りましたが、2.6.1 リリースまでに直してもらえるんでしょうか……。当面は、mod_rewrite かリダイレクトで逃げるしかなさそうですが。
[追記] ウチのサイトは「URL を変えない」ことが信条なのに、ソフトウェアの都合で URL 体系を変えられたら、たまったものではありません。とりあえず、wp-includes/rewrite.php をいじって元に戻しました。
450,451c450,454 < $this->category_base = 'category'; < $this->category_structure = trailingslashit( $this->front . $this->category_base ); --- > $this->category_structure = $this->front . 'category/'; > else > $this->category_structure = '/' . $this->category_base . '/'; > // $this->category_base = 'category'; > // $this->category_structure = trailingslashit( $this->front . $this->category_base ); 469,470c472,476 < $this->tag_base = 'tag'; < $this->tag_structure = trailingslashit( $this->front . $this->tag_base ); --- > $this->tag_structure = $this->front . 'tag/'; > else > $this->tag_structure = '/' . $this->tag_base . '/'; > // $this->tag_base = 'tag'; > // $this->tag_structure = trailingslashit( $this->front . $this->tag_base );
[追記] 2.6.1 ベータ2で直りました。パーマリンク構造が /archives/%post_id% の場合でも同じ不具合が発生しますから、わりと重度な不具合だったと言えます。
[...] WordPress 2.6.1 ベータ2 がリリースされていました。「カテゴリー・タグアーカイブの URL が変わってしまう問題」や、「投稿を編集したときのタグ重複問題」(新規作成だけが改善されている!) が修正されています。 [...]
はじめまして。いきなり質問させていただく失礼をお許しください。
記事を拝見して、一つお聞きしたいのですが、私は2.7のバージョンのwordpressを使っています。
投稿ページのパーマリンク設定のつもりで、こちらでいう「arc」と同じように、「entry」とつけたのですが
月別アーカイブのアドレスにも「entry」が付いてしまいました。
カテゴリは同じ設定のページから変更可能でしたが、アーカイブページの設定は見つけられませんでした。
これを解決する良い方法を、何かご存じないでしょうか。
(できればカテゴリと同じように、別に設定できればいいのですが・・)
お返事いただけたら嬉しいです。
どうぞよろしくお願いいたします。
どうやら、これは付くのが仕様のようです。これをいじるには、パーマリンクの解析部分をいじるプラグインを入れる必要があって、けっこう難しいです (wp-includes/rewrite.php を読解すればよい)。
いろいろとフィルターフックは用意されているので、技術的には可能なはずですが、あまりドキュメント化されてなくて、実現はけっこう大変そうです。Redirection プラグインなどを解析して調べるとよいかもしれません。
こんにちは。すばやい返信に感謝します。
教えていただいた内容を読解していこうと思いますが、
さほどプログラムに詳しいわけではないので、仕様ならば現状は諦めるしかなさそうです。
お返事をどうもありがとうございました。