permalinks->core['user'] ) && !um_get_option('um_flush_stop') ) { $user_page_id = $ultimatemember->permalinks->core['user']; $account_page_id = $ultimatemember->permalinks->core['account']; $user = get_post($user_page_id); if ( isset( $user->post_name ) ) { $user_slug = $user->post_name; $account = get_post($account_page_id); $account_slug = $account->post_name; $add_lang_code = ''; if ( function_exists('icl_object_id') || function_exists('icl_get_current_language') ) { if( function_exists('icl_get_current_language') ){ $language_code = icl_get_current_language(); }else if( function_exists('icl_object_id') ){ $language_code = ICL_LANGUAGE_CODE; } // User page translated slug $lang_post_id = icl_object_id( $user->ID, 'post', FALSE, $language_code ); $lang_post_obj = get_post( $lang_post_id ); if( isset( $lang_post_obj->post_name ) ){ $user_slug = $lang_post_obj->post_name; } // Account page translated slug $lang_post_id = icl_object_id( $account->ID, 'post', FALSE, $language_code ); $lang_post_obj = get_post( $lang_post_id ); if( isset( $lang_post_obj->post_name ) ){ $account_slug = $lang_post_obj->post_name; } if( $language_code != icl_get_default_language() ){ $add_lang_code = $language_code; } } add_rewrite_rule( $user_slug.'/([^/]+)/?$', 'index.php?page_id='.$user_page_id.'&um_user=$matches[1]&lang='.$add_lang_code, 'top' ); add_rewrite_rule( $account_slug.'/([^/]+)?$', 'index.php?page_id='.$account_page_id.'&um_tab=$matches[1]&lang='.$add_lang_code, 'top' ); flush_rewrite_rules( true ); } } } /*** *** @author page to user profile redirect ***/ function redirect_author_page() { if ( um_get_option('author_redirect') && is_author() ) { $id = get_query_var( 'author' ); um_fetch_user( $id ); exit( wp_redirect( um_user_profile_url() ) ); } } /*** *** @locate/display a profile ***/ function locate_user_profile() { global $post, $ultimatemember; if ( um_queried_user() && um_is_core_page('user') ) { if ( um_get_option('permalink_base') == 'user_login' ) { $user_id = username_exists( um_queried_user() ); // Try nice name if ( !$user_id ) { $slug = um_queried_user(); $slug = str_replace('.','-',$slug); $the_user = get_user_by( 'slug', $slug ); if ( isset( $the_user->ID ) ){ $user_id = $the_user->ID; } } } if ( um_get_option('permalink_base') == 'user_id' ) { $user_id = $ultimatemember->user->user_exists_by_id( um_queried_user() ); } if ( in_array( um_get_option('permalink_base'), array('name','name_dash','name_dot','name_plus') ) ) { $user_id = $ultimatemember->user->user_exists_by_name( um_queried_user() ); } /** USER EXISTS SET USER AND CONTINUE **/ if ( $user_id ) { um_set_requested_user( $user_id ); } else { exit( wp_redirect( um_get_core_page('user') ) ); } } else if ( um_is_core_page('user') ) { if ( is_user_logged_in() ) { // just redirect to their profile $query = $ultimatemember->permalinks->get_query_array(); $url = um_user_profile_url(); if ( $query ) { foreach( $query as $key => $val ) { $url = add_query_arg($key, $val, $url); } } exit( wp_redirect( $url ) ); } } } }