我正在我的函数中创建一些简单的重写。我的WordPress安装中的php文件:
add_rewrite_rule(\'product1/faqs/?\', \'index.php?name=product1-faqs\', \'top\');
我注意到,如果在浏览器中点击“product1/faqs”,它会成功显示“product1 faqs”的内容,但会将url保留为product1/faqs(这是需要的),但仅当它是帖子时。
如果我尝试在页面上使用相同的技术,浏览器URL将切换到“product1常见问题解答”(不需要!)
为什么会这样?我不想为了重写能按预期工作而把自己局限在帖子上。。。
最合适的回答,由SO网友:Eric Holmes 整理而成
这是一个非常简单的解决方案-WP_Query 利用name
帖子和自定义帖子类型帖子的变量。它利用pagename
对于页面,为什么?name=product1-faqs
不工作。请改用此选项:
add_rewrite_rule(\'product1/faqs/?\', \'index.php?pagename=product1-faqs\', \'top\');