2013-07-19 39 views
0

我试图创建一个简单的预订表单。这是在一个单独的页面上的四个选项(小组,公司,学生和场地)。Mod_Rewrite在WordPress安装的查询字符串

例如:如果用户点击Book Now for Group Experience,它应该将它们带到包含带有查询字符串'Group-Experience'的表单的动态页面。此查询字符串将用于主题字段的值。

现在的问题,目前这是我有:

网址: /电子书/菜单=组体验
主题领域:“组体验”。

我想:

网址: /书/组体验
主题领域: “集团体验”

我找到了这样的 ' - ' 是移除:

< PHP
$菜单= str_replace函数( “ - ”, “”,$ _GET [ '菜单']);
>

我环顾四周#1和其他网站,但无法找到旁边的WordPress奏效的方法 - 的形式是一个模板文件中。

我的当前的.htaccess:

< IfModule mod_rewrite.c>
RewriteEngine叙述在
RewriteBase /实验室/ foodfiendexp/
重写规则^的index.php $ - [L]
的RewriteCond%{ REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule。 /lab/foodfiendexp/index.php [L]
</IfModule>配置

回答

0

您必须添加一个页面重写规则,这样做,添加以下代码添加到functions.php

add_filter('page_rewrite_rules', 'book_page_rewrite_rules'); 
function book_page_rewrite_rules($rewrite_rules) 
{ 
    end($rewrite_rules); 
    $last_pattern = key($rewrite_rules); 
    $last_replacement = array_pop($rewrite_rules); 
    $rewrite_rules += array(
     '(.+?)/([^/]+)/?$' => 'index.php?pagename=$matches[1]&menu=$matches[2]', 
     $last_pattern => $last_replacement, 
    ); 
    return $rewrite_rules; 
} 

add_rewrite_tag('%menu%','([^&]+)'); 

然后从设置 - >永久链接更新永久链接结构,您只需再次点击保存。

而且你访问与

$menu = get_query_var('menu'); 

您的菜单现在你的网址应该

/book/group-experience 

考虑书的工作是一个页面,如果你需要重写规则添加到一个职位,改到后重写规则

更多细节在这里:http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

另外,如果你需要重写规则检查器,这个插件是非常非常好的:http://wordpress.org/plugins/monkeyman-rewrite-analyzer/