这是很有可能的。首先,制作pagename/{customString}
解析为页面本身而不是404,然后,您可以自由决定是保持URI不变并提供页面内容,还是重定向回某个位置,例如页面永久链接(get_the_permalink()
):
add_action( "init", function(){
$pagename = "pagename"; // page slug
add_rewrite_rule(
sprintf(\'^%s/([^/]*)/?\', $pagename),
sprintf(\'index.php?pagename=%s&pageParam=$matches[1]\', $pagename),
\'top\'
);
});
add_filter( "query_vars", function( $vars ){
$vars[] = "pageParam";
return $vars;
});
add_action( "template_redirect", function(){
if ( $param = get_query_var( "pageParam" ) ) {
/* make sure param is not for comments pagination or smth similar */
wp_redirect( get_the_permalink(), 301 );
exit;
}
});
如果不希望重定向,请删除挂接到中的代码
template_redirect
(截至第15行)。要获取自定义字符串(
{any string here}
), 简单呼叫
get_query_var( "pageParam" )
.
希望这有帮助。