1

ログインしたユーザーに対して、デフォルトの My Account という単語の代わりに表示したい ユーザーの名前を表示したいのですが、このコードを試してみましたが、何も表示されません!

次の場所にあるファイルの変数を認識していないようです$current_user: wp-content/themes/themeName/framework/functions/woo-account.php

printf( __( '%s', 'wpdance' ),$current_user->user_lastname);

そうだった:

printf( __( 'My Account', 'wpdance' ));

また、このコードを使用してすべてのものを取得しようとしました:

<?php global $current_user;
  get_currentuserinfo();

  echo 'Username: ' . $current_user->user_login . "\n";
  echo 'User email: ' . $current_user->user_email . "\n";
  echo 'User level: ' . $current_user->user_level . "\n";
  echo 'User first name: ' . $current_user->user_firstname . "\n";
  echo 'User last name: ' . $current_user->user_lastname . "\n";
  echo 'User display name: ' . $current_user->display_name . "\n";
  echo 'User ID: ' . $current_user->ID . "\n";

?>

しかしUser first name:User last name:空でした!

誰か提案やアイデアはありますか?

よろしくお願いします!

4

2 に答える 2

1

最良の方法は、wp_get_current_user() (グローバル変数は必要ありません)と条件を使用して、ユーザーがログインしていることを確認することです。

if ( is_user_logged_in() ) {
    $user_info = wp_get_current_user();
    $user_last_name = $user_info->user_lastname;
    printf( __( '%s', 'wpdance' ), $user_last_name );
}

または完全な名前で:

if ( is_user_logged_in() ) {
    $user_info = wp_get_current_user();
    $user_complete_name = $user_info->user_firstname . ' ' . $user_info->user_lastname;
    printf( __( '%s', 'wpdance' ), $user_complete_name );
}

参考文献:

于 2016-05-30T09:32:33.730 に答える
1

電話してみる

global $current_user;
get_currentuserinfo();

printf( __( '%s', 'wpdance' ),$current_user->user_lastname);

https://codex.wordpress.org/Function_Reference/get_currentuserinfo#Examplesを参照してください。

そして、姓が常に設定されていると確信していますか? 少なくとも値が返さ$current_userれれば、おそらく動作することを確認できます。$current_user->ID

また、デバッグを有効にすると、wp_config.phpすべての通知とエラーを表示するのにも役立ちます:

define( 'WP_DEBUG', true );

https://codex.wordpress.org/Debugging_in_WordPressを参照してください

于 2016-05-30T08:18:34.033 に答える