0

ユーザーがログインしていないときに匿名アイコンを表示し、ログインしているときにユーザーのアバターを表示しようとしています...これがコード用に取得したものです(wordpress install btw)

<div id="useravatar">
<?php
global $current_user;
if (!is_user_logged_in()) {
echo "<img src='"http://www.curious-howto.com/images/anonymous.jpg"'/>";
}
else { get_currentuserinfo();
   echo get_avatar( $current_user->ID, 32 ); }
?>
</div>

しかし、これは機能していません...

誰かが私が間違っていることを指摘できますか?

4

2 に答える 2

1

答えがないので、これがGoogleにポップアップ表示されます...

img タグに使用できない二重引用符があります。これにより、PHP が壊れます。

echo "<img src='"http://www.curious-howto.com/images/anonymous.jpg"'/>";

する必要があります

echo "<img src='http://www.curious-howto.com/images/anonymous.jpg'/>";
于 2016-02-22T08:19:55.010 に答える
0

@Guyra は引用エラーを指摘し、get_currentuserinfoWordPress 4.5 以降は非推奨であることにも注意しました。

関数をフックして、ファイル内get_avatarの出力を変更できfunctions.phpます。を使用するget_avatar方が優れており、ユーザーがわかっている場合はユーザーのアバターを取得し、不明な場合はグレイマンを取得します。関数をフックすることで、それを変更し、未知の人に対する動作を変更できます:

add_filter( 'get_avatar','get_custom_avatar' , 10, 5 );
function get_custom_avatar($avatar, $author, $size, $default, $alt) {
  if(stristr($author,"@")) $autore = get_user_by('email', $author);
    else $autore = get_user_by('ID', $author);

  if (isset($autore->ID) && $autore->ID > 0) {
      // known people
      return $avatar;
  } else {
      // unknown user
      $avatar = "http://www.curious-howto.com/images/anonymous.jpg";
      return "<img class='avatar' alt=\"".$alt."\" src='".$avatar."' width='".$size."' />";
 }

}

このコードを取得し、ここから変更します。Gravatar の代わりに別のサービスから生成されたアバターを取得するバリエーションもあります。

于 2017-04-05T14:13:11.383 に答える