如何解决Wordpress 多个 add_query_vars 返回 404
我使用的是最新版本的 wordpress 5.8。现在我正在尝试创建一个像 https://example.com/jobs/1234/accountant 这样漂亮的 URL。 jobid 和 jobtitle 中的值是动态的。
这是我的函数;
add_action('init',function() {
add_rewrite_rule( 'jobs/([a-z0-9-]+)[/]?$','index.PHP?pagename=jobs&jobid=$matches[1]&jobtitle=$matches[2]','top' );
} );
add_filter('query_vars',function($vars) {
$vars[] = "jobid";
$vars[] = "jobtitle";
return $vars;
});
以上代码仅适用于https://example.com/jobs/1234/
如果我在 jobid (1234) 旁边添加另一个值,例如 (accountant),它会返回到 404 page not found。
有没有办法让它工作?我不希望网址像 https://example.com/jobs/1234/?jobtitle=accountant
解决方法
我最终更改了正则表达式,但现在没有得到 404。
add_rewrite_rule( '^jobs/([^/]*)/?','index.php?pagename=jobs&jobid=$matches[1]&jobtitle=$matches[2]','top' );
为了获得第二个值,我提取了 url $wp->request()。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。