我需要将一些 URL 重写为自定义模板。例如,我在 有一个页面domain.com/page
,当用户单击元素上的“删除”时,它会转到domain.com/page/?remove=54
。我希望它重写为domain.com/page/remove/54
.
感谢您的帮助,在此先感谢您!
我需要将一些 URL 重写为自定义模板。例如,我在 有一个页面domain.com/page
,当用户单击元素上的“删除”时,它会转到domain.com/page/?remove=54
。我希望它重写为domain.com/page/remove/54
.
感谢您的帮助,在此先感谢您!
这个确切的代码未经测试,但它来自我最近解决的类似情况的另一个实例:
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
是用户访问该 URL 时要指向的页面的 slug ( domain.com/page/remove/432
),$matches[1]
应该是remove/
URL 后面的数字。这个数字可由稍后指定的变量访问$query_vars[] = 'removeid';
,如果指定,目标页面模板上的 /$removeid 将是 URL 中的数字。