我写了一个Wordpress插件,它查看品牌名称列表,并转储以a B C D…开头的字母的有序列表。。。。
当用户点击任何给定的字母时,它会列出以该字母开头的品牌名称,例如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]
但我无法使它与品牌名称本身或页码相匹配。请注意,品牌名称和编号并不总是在url中。格式为:
/brands{always}/brand_letter{alyst}/brand_name{有时}/页码{偶尔}
有人能帮帮我吗?
将正则表达式更改为:
brands/('w)(?:/([^/]+)(?:/('d+))?)?
| | | | | | |
| | | | | | |
| +---|------|---|-----|-Optional brand name and page number.
| | | | |
| | +---|-----Optional page number.
| | |
| | $3, the page number.
| |
| $2, the brand name.
|
$1, the brand letter.