Wordpress,自定义查询字符串到第二个mySQL数据库,以及Pretty Permalinks

时间:2012-08-01 18:56:52

标签: mysql wordpress rewrite permalinks

我的问题:是否可以使用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');

我需要能够完成我已经实现的目标和这个问题的目标。结果应该是用户永远不会看到查询字符串。

我做了很多研究,但对此的答案似乎让我感到厌烦。

1 个答案:

答案 0 :(得分:0)

所以我有一个答案,但它远非优雅。

在SUBMIT上我正在使用的表单发送到test.php的PHP脚本,其中包含代码:

$id = $_GET['tid'];
$url='http://www.zacharybrady.com/text/wordpress/'.$id;
echo "<script>window.location = '$url'</script>";

最后,这模拟了重写。如果有人有更优雅的方式,请告诉我。