WordPress从网址

时间:2017-07-27 20:31:39

标签: php wordpress url-rewriting

我正在追加"?sel"到我的URL以跟踪选择了哪个链接,然后在下一页中根据该选择显示项目。我在functions.php中使用以下命令将其注册为Query var(而不是仅使用$ _GET):



function add_query_vars_filter( $vars ){
  $vars[] = "sel";
  return $vars;
}
add_filter( 'query_vars', 'add_query_vars_filter' );




然后我在链接所在的模板中使用add_query_arg()创建了与var的链接。

$link = add_query_arg( 'sel', $slug, get_the_permalink($news_specials_listing_page_id) );
<a href="<?php echo $link ?>">

但是,如果我点击该链接,我仍然会看到&#34;?sel&#34;在URL中。我已将固定链接设置为在设置中发布名称&gt;永久链接,所以我没有看到典型的WordPress变量。是否可以隐藏&#34; sel&#34;以及其他已注册的查询变量,仍然使用get_query_var()?

获取值

我还尝试添加自定义重写标记并刷新我的永久链接。

&#13;
&#13;
function custom_rewrite_tag() {
    add_rewrite_tag('%sel%', '([^&]+)');
}
add_action('init', 'custom_rewrite_tag', 10, 0);
&#13;
&#13;
&#13;

我一直在尝试使用add_rewrite_rule()并发现它将RewriteRules添加到.htaccess。因此,如果我添加一个重写规则来捕获正则表达式中的sel变量并重定向它,变量是否仍然会被保存?我也很难搞清楚规则是什么。

1 个答案:

答案 0 :(得分:1)

使用GET的重点是将变量放入您的URL。这形成了一个唯一的URL,可以被搜索引擎加入书签和索引。如果您不想这样做,请使用POST。 POST允许您加密变量名称,使其比您要求的解决方案更安全。