如何将重定向的查询字符串变量打印到页面?

时间:2015-01-14 作者:ExcellentSP

我已设置基本重定向:

function example_add_rewrite_rules() {
  $year = \'(\\d{4})?\';
  $make = \'([a-z]{1,20})\';
  $model = \'(.+)\';
  add_rewrite_rule( \'c/\'.$year.\'/?\'.$make.\'/\'.$model.\'/?$\', \'index.php?page_id=46&year=$matches[1]&make=$matches[2]&model=$matches[3]\', \'top\' );
}
add_action( \'init\', \'example_add_rewrite_rules\' );
我希望每当用户点击URL为的页面时/c/2015/ford/f150,该URL存储在查询字符串中。

所以,希望用户能看到:“/c/2015/ford/f150”

而我看到的是:“?page\\u id=46&year=2015&make=ford&model=f150”

我不知道它是否有效。如果我输入/c/2015/ford/f150,它会将我重定向到正确的页面/page\\id。但我一生都不知道如何将这些查询变量打印到页面上,这样我至少可以看到查询字符串配置正确,并且变量存储在年份、品牌和型号中。

小结:我在上面的代码中有没有做错什么?如果没有,如何将查询字符串变量打印到页面?

旁白:我正在跳入PHP的海洋,我仍在努力学习如何游泳。如果我说错了什么,请原谅并纠正我,因为我不知道自己在做什么。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

第一year 已经是用于基于日期的存档的WordPress查询变量,您应该将其更改为唯一的,以防止可能的冲突。

要在重写规则中使用自己的查询变量,需要将它们添加到已知变量列表中:

function wpd_query_vars( $qvars ) {
  $qvars[] = \'my_year\';
  $qvars[] = \'make\';
  $qvars[] = \'model\';
  return $qvars;
}
add_filter( \'query_vars\', \'wpd_query_vars\' , 10, 1 );
然后,您可以使用在模板中输出其值get_query_var:

echo get_query_var( \'model\' );

结束

相关推荐

db.php, is it a legit file

在我为之进行疑难解答的一个WP安装(因为站点已关闭,DB连接太多)上,在根目录下添加了一个文件(带有WP-config.php和其他文件),该文件名为:DB。php它的大小为280 KB,包含一些粗糙的数据,下面是一个示例通常谷歌搜索不会透露这是一个黑客,但不会透露这是一个合法的wp文件。。。所以问题是,我用它做什么。。。很抱歉出现“垃圾外观”,但文件中是这样的。。。。我很担心!<?php /** Adminer - Compact database management * @li