Add permalink basename format

This commit is contained in:
champsupertramp
2016-01-13 12:33:21 +08:00
parent aad5a39f85
commit 217b107c19
5 changed files with 29 additions and 5 deletions
+9 -1
View File
@@ -196,7 +196,15 @@ class UM_Permalinks {
}
if ( um_get_option('permalink_base') == 'name' ) {
$user_in_url = rawurlencode( strtolower( um_user('full_name') ) );
$user_in_url = rawurlencode( strtolower( str_replace(" ",".",um_user('full_name') ) ) );
}
if ( um_get_option('permalink_base') == 'name_dash' ) {
$user_in_url = rawurlencode( strtolower( str_replace(" ","-",um_user('full_name') ) ) );
}
if ( um_get_option('permalink_base') == 'name_plus' ) {
$user_in_url = strtolower( str_replace(" ","+",um_user('full_name') ) );
}
if ( get_option('permalink_structure') ) {
+1 -1
View File
@@ -133,7 +133,7 @@ class UM_Rewrite {
}
if ( um_get_option('permalink_base') == 'name' ) {
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() );
}
+12 -1
View File
@@ -63,6 +63,17 @@
return $uri;
}
/***
*** @user clean basename
***/
function um_clean_user_basename( $value ){
$value = str_replace('.', ' ', $value);
$value = str_replace('-', ' ', $value);
$value = str_replace('+', ' ', $value);
return $value;
}
/***
*** @convert template tags
***/
@@ -1193,7 +1204,7 @@ function um_user( $data, $attrs = null ) {
case 'full_name':
if ( um_user('first_name') && um_user('last_name') ) {
$full_name = um_user('first_name') . '.' . um_user('last_name');
$full_name = um_user('first_name') . ' ' . um_user('last_name');
} else {
$full_name = um_user('display_name');
}
+4 -1
View File
@@ -877,6 +877,7 @@ class UM_User {
return count( $duplicates );
return false;
}
/***
*** @user exists by name
@@ -885,12 +886,14 @@ class UM_User {
global $ultimatemember;
$value = $ultimatemember->validation->safe_name_in_url( $value );
$value = um_clean_user_basename( $value );
$ids = get_users(array( 'fields' => 'ID', 'meta_key' => 'full_name','meta_value' => $value ,'meta_compare' => '=') );
if ( isset( $ids[0] ) )
return $ids[0];
return false;
}
/**
* @function user_exists_by_id()
+3 -1
View File
@@ -110,7 +110,9 @@ $this->sections[] = array(
'desc' => 'e.g. ' . trailingslashit( um_get_core_page('user') ) .'<strong>username</strong>/',
'options' => array(
'user_login' => __('Username','ultimatemember'),
'name' => __('First and Last Name','ultimatemember'),
'name' => __('First and Last Name with \'.\'','ultimatemember'),
'name_dash' => __('First and Last Name with \'-\'','ultimatemember'),
'name_plus' => __('First and Last Name with \'+\'','ultimatemember'),
'user_id' => __('User ID','ultimatemember'),
),
'placeholder' => __('Select...','ultimatemember')