我写了一个Wordpress插件,它查看了品牌名单,并转出了他们开头的字母的有序列表,例如A B C D ....
当用户点击任何给定的字母时,它会列出以该字母开头的品牌名称,例如Abus,ABike,Animal等
然后,用户可以点击一个品牌名称,并在几个页面上显示该品牌的商品列表。
网址结构因此是:
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]
但我无法与品牌名称本身或页码相匹配。请注意,品牌名称和编号不会始终在网址中。格式为:
/ brands {always} / brand_letter {always} / brand_name {有时} /页码{偶尔}
有人可以帮帮我吗?
答案 0 :(得分:2)
将正则表达式更改为:
brands/(\w)(?:/([^/]+)(?:/(\d+))?)?
| | | | | | |
| | | | | | |
| +---|------|---|-----|-Optional brand name and page number.
| | | | |
| | +---|-----Optional page number.
| | |
| | $3, the page number.
| |
| $2, the brand name.
|
$1, the brand letter.