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

これは、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 で FIRST NAME と LAST NAME のイニシャルを表示する完全なコードは以下のとおりです。他の誰かがそれを使用したい場合は、忘れずにテーマの 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 に答える
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 に答える