1

ブランド名のリストを調べて、ABCDなどで始まる文字の順序付きリストをダンプするWordpressプラグインを作成しました。

ユーザーが特定の文字をクリックすると、その文字で始まるブランド名が一覧表示されます(Abus、ABike、Animalなど)。

次に、ユーザーがブランド名をクリックして、そのブランドごとのアイテムのリストを複数のページに広げて表示することを目的としています。

したがって、URL構造は次のようになります。

http://www.domain.com/brands/A/Abus/1

http://www.domain.com/brands/B/Bontrager/1

これはWordpressで行われているため、add_rewrite_ruleに入る必要のある正規表現に頭を悩ませようとしています。これを行うことで、最初の部分(上記の例では/A/または/B/)と一致させることができます。

add_rewrite_rule('brands/?([^/]*)', 'index.php?pagename=brands&brand_letter=$matches[1]&brand_name=$matches[2]&page=$matches[3]

しかし、ブランド名自体やページ番号と一致させることができません。ブランド名と番号が常にURLに含まれるとは限らないことに注意してください。形式は次のとおりです。

/brands{常に}/brand_letter{常に}/brand_name{時々}/ページ番号{時々}

誰か助けてくれませんか?

4

1 に答える 1

3

正規表現を次のように変更します。

brands/(\w)(?:/([^/]+)(?:/(\d+))?)?
       |   |   |      |   |     | |
       |   |   |      |   |     | |
       |   +---|------|---|-----|-Optional brand name and page number.
       |       |      |   |     |
       |       |      +---|-----Optional page number.
       |       |          |
       |       |          $3, the page number.
       |       |
       |       $2, the brand name.
       |
       $1, the brand letter.
于 2012-09-04T20:29:23.963 に答える