在Wordpress中为我自己的PHP文件重写规则


Rewrite rule for my own PHP file in Wordpress

我有问题。我有我自己的PHP文件在Wordpress,我可以使用他的URL,例如:http://www.domain.tld/wp-content/themes/theme/filter.php?foo=arg1& fo =最长

但是我想在url上使用这个文件,比如http://www.domain.tld/filter/arg1/arg2/。这可能吗?

谢谢!

可以使用add_rewrite-rule()
像这样:

add_rewrite_rule(
        '^filter/([^/]*)/([^/]*)/?',
        'wp-content/themes/theme/filter.php?foo=$matches[1]&fo=$matches[2]',
        'top'
        );
add_rewrite_tag('%foo%', '([^&]+)');
add_rewrite_tag('%fo%', '([^&]+)');

那么在filter.php中,你需要使用get_query_var而不是普通的php $_GET,例如:

//echo $_GET['foo']; wont work
echo get_query_var('foo');