我正在將「?sel」附加到我的URL中,以便跟蹤選擇哪個鏈接,然後根據該選擇在下一頁中顯示項目。我用的functions.php以下將其註冊爲一個查詢VAR(而不是僅僅使用$ _GET):在WordPress從URL中刪除自定義變量
function add_query_vars_filter($vars){
$vars[] = "sel";
return $vars;
}
add_filter('query_vars', 'add_query_vars_filter');
然後創建與使用VAR add_query_arg的鏈接()鏈接所在的模板。
$link = add_query_arg('sel', $slug, get_the_permalink($news_specials_listing_page_id));
<a href="<?php echo $link ?>">
但是,如果我點擊該鏈接,我仍然可以在URL中看到「?sel」。我已將我的永久鏈接設置設置爲在設置>永久鏈接中發佈名稱,所以我沒有看到典型的WordPress變量。是否可以隱藏「sel」以及其他註冊查詢變量,並仍然使用get_query_var()獲取值?
我也試過添加一個自定義的重寫標籤並沖洗我的固定鏈接。
function custom_rewrite_tag() {
add_rewrite_tag('%sel%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
我一直在嘗試add_rewrite_rule(),並發現它增加的RewriteRules爲.htaccess。因此,如果我添加一個重寫規則來捕獲正則表達式中的sel變量並將其重定向,變量是否仍會保存?我也很難搞清楚規則是什麼。