使用 GET 变量重写 WordPress URL

标签 wordpress .htaccess url-rewriting

我尝试寻找解决方案,但未能找到。在我的 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' );    
}

这是可选的,仅当您需要在聚会页面中使用 titleid 变量时才需要。可以使用 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/

相关文章:

javascript - 我如何对不同数量的输入字段进行 JavaScript 数学运算?

php - 我正在尝试使用 $_GET 更改 css 属性得到错误的结果

html - 在 Wordpress 网站的页脚内移动图标

php - 使用正则表达式重写的 URL 不起作用

php - 我的站点 htaccess 需要短 URL

php - Nginx 阻止访问 php 文件

css - Wordpress:调用特色图像作为具有自定义大小的背景图像

.htaccess - 将单页 http 重定向到 https

php - SEO 友好的术语语法

asp.net - IIS 重写规则 - 如何包含根文档