2013-07-19 38 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/