您好,正在尝试使用以下命令将重写规则添加到默认帖子类型
add_action(\'init\', \'add_my_rewrite\');
function add_my_rewrite() {
global $wp_rewrite;
$wp_rewrite->add_rule(\'(.*)/server/([^/]+)\',\'index.php?p=$matches[1]&server=$matches[2]\',\'top\');
$wp_rewrite->flush_rules(false);
}
function add_query_vars_filter($vars){
$vars[] = "server";
return $vars;
}
add_filter(\'query_vars\',\'add_query_vars_filter\');
但worklet不是说我的帖子url是
http://localhost/wordpress/movie-slug/
我希望url是这样的
http://localhost/wordpress/movie-slug/server/1
将参数服务器添加到URL后,我如何才能做到这一点谢谢
最合适的回答,由SO网友:Milo 整理而成
这个p
query var需要一个post ID,请使用name
相反还要注意的是,规则只有在更改时才应该刷新,因为这是一个计算代价高昂的操作。最好在主题更改或插件激活时这样做,以适合代码所在位置的为准。您也可以通过访问admin中的Settings>Permalinks页面来完成此操作。
add_action(\'init\', \'add_my_rewrite\');
function add_my_rewrite() {
add_rewrite_rule(
\'^(.*)/server/([^/]+)\',
\'index.php?name=$matches[1]&server=$matches[2]\',
\'top\'
);
}
function add_query_vars_filter($vars){
$vars[] = "server";
return $vars;
}
add_filter(\'query_vars\',\'add_query_vars_filter\');