1

我编写了一个 Wordpress 插件,它查看品牌名称列表并转储出以它们开头的字母的有序列表,例如 ABCD ...。

当用户点击任何给定的字母时,它会列出以该字母开头的品牌名称,例如 Abus、ABike、Animal 等

然后,目的是让用户点击一个品牌名称,并显示该品牌分布在几个页面上的项目列表。

因此,url 结构将是:

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

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

ETC

因为这是在 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]

但我无法让它与品牌名称本身或页码相匹配。请注意,品牌名称和编号并不总是在网址中。格式为:

/brands {always} / brand_letter {always} / brand_name {sometimes} / 页码 {occasionally}

有人能帮帮我吗?

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 回答