0

我已使用以下函数将显示名称设置为同时显示名字和姓氏。如何操作 LAST NAME 以仅提取该字符串的第一个字母?例如,如果您注册为 John Doe(名字 = John,姓氏 = Doe),我希望您的显示名称为 John D。

谢谢

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); 
4

2 回答 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];
于 2013-08-23T18:58:39.970 回答
0

这就是我使用 PHP 的 substr() 函数解决它的方法:

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

以上代码感谢 Pat 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); 
于 2013-08-23T20:10:25.500 回答