From 2c0d0e75df0c2ecf8fd4b22b0c63948b36f65b45 Mon Sep 17 00:00:00 2001 From: champsupertramp Date: Tue, 1 Mar 2016 17:51:05 +0800 Subject: [PATCH] Fix user profile url with single dashed in last name --- core/um-filters-user.php | 29 ++++++++++++++++++++++++++++- core/um-short-functions.php | 3 +++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/core/um-filters-user.php b/core/um-filters-user.php index e56cc8b2..37223a1b 100644 --- a/core/um-filters-user.php +++ b/core/um-filters-user.php @@ -67,4 +67,31 @@ um_fetch_user( um_profile_id() ); return $actions; - } \ No newline at end of file + } + + + /** + * Filter user basename + * @param string $value + * @return string + * @hook_filter: um_clean_user_basename_filter + */ + add_filter('um_clean_user_basename_filter','um_clean_user_basename_filter',2,10); + function um_clean_user_basename_filter( $value, $raw ){ + + // Checks if last name has dash + if( ! empty( um_user('last_name') ) && strrpos( um_user('last_name') ,"-") ){ + $current_user_last_name = strtolower( um_user('last_name') ); + + if( strrpos($raw, $current_user_last_name) > -1 ){ + $a = strrpos($current_user_last_name, $raw); + $swap_lastname = substr($current_user_last_name, $a); + $swap_lastname = str_replace('-',' ', $swap_lastname); + $value = str_replace( $swap_lastname, $current_user_last_name, $value); + } + } + + return $value; + + } + diff --git a/core/um-short-functions.php b/core/um-short-functions.php index 425a4914..3c9d86a3 100644 --- a/core/um-short-functions.php +++ b/core/um-short-functions.php @@ -68,6 +68,7 @@ ***/ function um_clean_user_basename( $value ) { + $raw_value = $value; $value = str_replace('', '', $value); $value = preg_replace('/^([a-z]{2,3})\./', '$1', $value); $value = preg_replace('/([a-z]{2,3})\.$/', '$1', $value); @@ -76,6 +77,8 @@ $value = str_replace('+', ' ', $value); $value = str_replace('', '.', $value); + $value = apply_filters('um_clean_user_basename_filter', $value, $raw_value ); + return $value; } /***