我正在使用插件中的设置来生成重写规则:
$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');
我得到了正确的slu ..
我有一个看起来像这样的网址:
mysite.com/info/?player=joe.smith.01
我希望它看起来像这样:
mysiste.com/info/joe.smith.01
我正在使用add_rewrite_tag
,因此WP将获取该网址的变量。当我访问一个像我正在尝试实现的页面网址时,我找不到一个页面。
答案 0 :(得分:0)
如果你真的不需要,我不建议修改htaccess文件。 WP的Rewrite APi应该做得很好。
那就是说,我很确定你必须在add_rewrite_rule()的重写参数中通过'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');