[英]Mod_Rewrite on Query String in WordPress installation
我正在嘗試創建一個簡單的預訂表格。 單獨頁面上有四個選項(組,公司,學生和場所)。
例如:如果用戶單擊立即預訂以獲取組體驗,則應將其帶到包含查詢字符串“組體驗”的表單的動態頁面。 該查詢字符串將用於主題字段的值。
現在的問題是,這就是我現在所擁有的:
網址: / book /?menu = group-experience
主題字段: “小組體驗”。
我想要:
網址: / book / group-experience
主題字段: “小組體驗”
我知道了,所以用以下命令刪除了“-”:
<?php
$ menu = str_replace(“-”,“”,$ _GET ['menu']);
?>
我到處都是Stackoverflow和其他網站,但是找不到與WordPress搭配使用的方法-表單位於模板文件中。
我當前的.htaccess:
<IfModule mod_rewrite.c>
RewriteEngine開
RewriteBase / lab / foodfiendexp /
RewriteRule ^ index.php $-[L]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule。 /lab/foodfiendexp/index.php [L]
</ IfModule>
您必須添加頁面重寫規則,以將以下代碼添加到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/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.