我尝试寻找解决方案,但未能找到。在我的 WordPress 网站中,我有一个自定义页面,可以从数据库中检索数据。现在我有这个网址:
http://www.domain.com/party/?title=nameoftheparty&id=4
我需要将其重写为:
http://www.domain.com/party/nameoftheparty/4/
我尝试在 .htaccess 中添加重写 url,但出现 404 页面。
我需要做什么?
最佳答案
将两个代码片段添加到functions.php
1.我们告诉 WordPress /party/nameoftheparty/4/
应在内部映射到 /party/?title=nameoftheparty&id=4
add_action( 'init', 'so27053217_init' );
function so27053217_init()
{
add_rewrite_rule(
'^party/([^/]*)/([^/]*)/?',
'index.php?pagename=party&title=$matches[1]&id=$matches[2]',
'top' );
}
这是可选的,仅当您需要在聚会页面中使用 title
和 id
变量时才需要。可以使用 get_query_var("title")
add_filter( 'query_vars', 'so27053217_query_vars' );
function so27053217_query_vars( $query_vars )
{
$query_vars[] = 'title';
$query_vars[] = 'id';
return $query_vars;
}
请记住重新保存您的永久链接以刷新重写规则。
关于使用 GET 变量重写 WordPress URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27053217/