2013-08-23 148 views
0

我已經設置顯示名稱以顯示名字和姓氏使用下面的功能。我如何操作LAST NAME來只拉取該字符串的第一個字母?例如,如果你作爲李四註冊(名字=約翰,姓= DOE),我想您的顯示名稱是約翰D.Wordpress顯示名稱字符串操作

感謝

function force_pretty_displaynames($user_login, $user) { 

$outcome = trim(get_user_meta($user->ID, 'first_name', true) . " " . get_user_meta($user->ID, 'last_name', true)); 
if (!empty($outcome) && ($user->data->display_name!=$outcome)) { 
    wp_update_user(array ('ID' => $user->ID, 'display_name' => $outcome));  
} 
} 
add_action('wp_login','force_pretty_displaynames',10,2); 

回答

0

get_user_meta($user->ID, 'last_name', true)剛剛獲得第一個字符。你可以使用字符串作爲字符數組(因爲它是字符數組:),所以要得到第一個字符,你會寫$string[0]

$lastName = (string) get_user_meta($user->ID, 'last_name', true); 
$firstChar = $lastName[0]; 
+0

伊隆可以請你插入你的答案進入我的代碼澄清?當我嘗試它時,我得到了致命錯誤:不能使用WP_User類型的對象作爲數組。謝謝! –

+0

編輯答案,我認爲現在使用該解決方案會很容易;) –

0

這是我如何解決它使用PHP的SUBSTR()函數:

$outcome = trim(
get_user_meta($user->ID, 'first_name', true) 
. ' ' 
. substr(get_user_meta($user->ID, 'last_name', true), 0, 1) 
. '.' 
); 

以上感謝帕特j碼

的完整代碼顯示名字和最初在WordPress姓氏在下面。如果任何人想要使用它,記住它粘貼到你的主題function.php文件

function force_pretty_displaynames($user_login, $user) { 

$outcome = trim(
get_user_meta($user->ID, 'first_name', true) 
. ' ' 
. substr(get_user_meta($user->ID, 'last_name', true), 0, 1) 
. '.' 
); 
if (!empty($outcome) && ($user->data->display_name!=$outcome)) { 
    wp_update_user(array ('ID' => $user->ID, 'display_name' => $outcome));  
} 
} 
add_action('wp_login','force_pretty_displaynames',10,2);