我需要将一些URL重写为自定义模板。例如,我在domain.com/page
处有一个页面,当用户点击元素上的“删除”时,它会转到domain.com/page/?remove=54
。我希望它重写为domain.com/page/remove/54
。
感谢帮助,提前谢谢!
答案 0 :(得分:3)
这个确切的代码未经测试,但它来自我最近解决的类似情况的另一个实例:
add_action( 'init', 'ss_permalinks' );
function ss_permalinks() {
add_rewrite_rule(
'page/remove/([^/]+)/?',
'index.php?pagename=page&service=$matches[1]',
'top'
);
}
add_filter( 'query_vars', 'ss_query_vars' );
function ss_query_vars( $query_vars ) {
$query_vars[] = 'removeid';
return $query_vars;
}
执行后重新保存永久链接设置一次。 page
是指向用户访问此网址(domain.com/page/remove/432
)时页面的标记,$matches[1]
应该是网址中remove/
之后的数字。此数字可通过稍后指定的变量访问,目标页面上的$query_vars[] = 'removeid';
/ $ removeid模板将是URL中的数字(如果已指定)。