я отказался от использования add_rewrite_rule wordpress функциональности .. вместо этого я изучил плагин buddypress и как он работает .. я обнаружил следующие фильтры:
function custom_bp_domain_filter($domain, $user_id) {
$change_slug = is_joseph_bada_user_id($user_id);
if ($change_slug) {
$domain = trailingslashit(bp_get_root_domain() . '/' . 'members/joseph-b');
}
return $domain;
}
add_filter('bp_core_get_user_domain', 'custom_bp_domain_filter', 10, 2);
эта часть выше является фильтром, в котором я собираюсь проверить, относится ли отображаемый идентификатор пользователя к members / joseph-bada. если это так, измените его на members / joseph-b
function custom_bp_after_slug_filter($after_member_slug) {
if ($after_member_slug==='joseph-b') {
$after_member_slug = 'joseph-bada';
}
return $after_member_slug;
}
add_filter('bp_core_set_uri_globals_member_slug', 'custom_bp_after_slug_filter');
эта часть выше определяет, является ли URI теперь members / joseph-b .. у нас нет пользователя с этим, вместо этого это 'joseph-bada'
возвращаемое значение здесь - это пользователь, который будет отображаться, поэтому мы должны вернуть 'joseph-bada', если значением параметра является 'joseph-b'
когда члены / joseph-b просматриваются .. будет отображаться профиль участников / joseph-bada