我的问题:是否可以使用WP_Rewrite,以便在地址中放置带有自定义查询字符串的URL(例如:mysite.com/?tid=1)时,它将变为mysite.com/1
此查询引用第二个数据库,与普通的Wordpress结构无关。它抓取信息并填充索引页面的一部分。
目前我已经能够使用WP_Rewrite进行反向操作。如果您转到http://www.zacharybrady.com/text/wordpress/1/,则wordpress会将其解释为http://www.zacharybrady.com/text/wordpress/?tid=1
我的完整代码:
/*REWRITING*/
function add_rewrite_rules() {
add_rewrite_rule('([0-9]+)','index.php?tid=$matches[1]','top');
}
add_action( 'init', 'add_rewrite_rules' );
/*QUERY TAGS*/
function tid_register_rewrite_tag() {
add_rewrite_tag( '%tid%', '([0-9]+)');
}
add_action( 'init', 'tid_register_rewrite_tag');
我需要能够完成我已经实现的目标和这个问题的目标。结果应该是用户永远不会看到查询字符串。
我做了很多研究,但对此的答案似乎让我感到厌烦。
答案 0 :(得分:0)
所以我有一个答案,但它远非优雅。
在SUBMIT上我正在使用的表单发送到test.php的PHP脚本,其中包含代码:
$id = $_GET['tid'];
$url='http://www.zacharybrady.com/text/wordpress/'.$id;
echo "<script>window.location = '$url'</script>";
最后,这模拟了重写。如果有人有更优雅的方式,请告诉我。