web-dev-qa-db-ja.com

ログイン時にユーザープロフィールのアバターを表示する

ログイン時にユーザーのアバター/プロフィール画像を表示しようとしていますが、これを使用すると次のようになります。

 <?php
    global $current_user;
    get_currentuserinfo();     
    echo get_avatar( $current_user->ID, 64 );

?>

default_avatar_male.jpgが表示されますが、ログインしない限り何も表示したくありません。すべての助けをありがとう。

1
Dave_O

ユーザーがこのようにログインしている場合は、現在のユーザーの電子メールIDをget_avatar()関数に渡します。

<?php 
if ( is_user_logged_in() ) {
    $current_user = wp_get_current_user();
    if ( ($current_user instanceof WP_User) ) {
        echo 'Welcome : ' . esc_html( $current_user->display_name );
        echo get_avatar( $current_user->ID, 32 );
    }
}
5
Amit Mishra

このコードをif userがlogged inになるようにラップすると、profile picと表示されます。そのためには、ワードプレス関数 is_user_logged_in を使用します。

それであなたのcodeはこのようになるでしょう:

<?php
    global $current_user;
    if ( is_user_logged_in() ):
        get_currentuserinfo();     
        echo get_avatar( $current_user->ID, 64 );
    endif;  
?>
0