为什么wordpress不能在我的插件中识别添加规则?

为什么wordpress不能在我的插件中识别添加规则?,wordpress,rewrite,Wordpress,Rewrite,我正在使用插件中的设置生成重写规则: $bioPage = $wpdb->get_var("SELECT settingValue FROM $table_name WHERE settingType='bioPage'"); $post = get_post($bioPage); $slug = $post->post_name; add_rewrite_tag('%player%','([^&]+)'); add_rewrite_rule('^'.$slug.'/([

我正在使用插件中的设置生成重写规则:

$bioPage = $wpdb->get_var("SELECT settingValue FROM $table_name WHERE settingType='bioPage'");
$post = get_post($bioPage);
$slug = $post->post_name;

add_rewrite_tag('%player%','([^&]+)');

add_rewrite_rule('^'.$slug.'/([^/]*)$','/'.$slug.'/?player=$matches[1]','top');
我得到了正确的子弹

我有一个如下所示的url:

mysite.com/info/?player=joe.smith.01
mysiste.com/info/joe.smith.01
我希望它看起来像这样:

mysite.com/info/?player=joe.smith.01
mysiste.com/info/joe.smith.01

我正在使用add_rewrite_标记,以便WP获取url的变量。当我访问一个像我试图实现的那样结构的页面url时,我得到一个找不到的页面。

如果你真的不需要修改htaccess文件,我不建议你修改它。WP的重写APi应该很好

也就是说,我非常确定您必须通过add_rewrite_规则的rewrite参数中的'index.php'

我现在没有任何方法来测试这一点,但以下几点可能会起作用:

$bioPage = $wpdb->get_var("SELECT settingValue FROM $table_name WHERE settingType='bioPage'");
$post = get_post($bioPage);
$slug = $post->post_name;
$page_id = $post->ID; //Get the post ID to include in the page_id query var

add_rewrite_tag('%player%','([^&]+)');
add_rewrite_rule('^'.$slug.'/([^/]*)$','index.php?page_id='.$page_id'.&player=$matches[1]','top');

您是否修改了htaccess文件?直接尝试,我会,但我需要使用插件来改变重写,因为htaccess位于主题文件之外。