第一步是添加一个查询变量,以便WordPress能够识别它并在重写规则中解析它的值。
function wpd_query_vars( $query_vars ) {
$query_vars[] = \'users_filter_name\';
return $query_vars;
}
add_filter( \'query_vars\', \'wpd_query_vars\' );
接下来,添加重写规则以捕获请求并设置
users_filter_name
:
function wpd_user_rewrite_rule(){
add_rewrite_rule(
\'^user-profile/([^/]*)/?\',
\'index.php?page_id=31848&users_filter_name=$matches[1]\',
\'top\'
);
}
add_action( \'init\', \'wpd_user_rewrite_rule\' );
别忘了
flush rewrite rules 在他们改变之后。
然后,您可以访问模板中的查询变量并加载该用户:
if( $users_filter_name = get_query_var( \'users_filter_name\' ) ){
$user = get_user_by( \'slug\', $users_filter_name );
if( !empty( $user ) ){
echo $user->ID; // your original users_filter value
}
}