2013-03-30 2 views
0

Im는 PHP에서별로 좋지 않습니다 ... 사용자가 로그인하지 않았을 때 익명의 아이콘을 표시하려고하고 로그인했을 때 사용자 아바타를 보여 주려고합니다 ... 코드 (WordPress 누군가가 내가 잘못하시기 바랍니다 일을하고 yo0 감사하고있어 지적 할 수 ...) BTW사용자 아바타 Wordpress Php

<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> 

를 설치하지만이 작동하지 않습니다 많이 감사합니다 :)

+0

누구든지이 문제에 대해 의견이 있으십니까? –

+0

이것은 솔직히 디버깅하기가 어렵습니다. 하위 폴더에 WP 설치가 있습니까? 로그인 할 때 콘솔을 확인하고 WP가 쿠키를 설정하는지 확인하십시오. 일반적으로'wordpress_logged_in'라고 로그인하면됩니다. 일단 쿠키를 찾으면 쿠키 위치를 확인하고 경로가 올 바르며 두 번'//'또는 부적절한 경로 지정을 포함하지 않는지 확인하십시오. 'bloginfo ('home')'을 확인하십시오. 사이트에 대한 올바른 경로입니까? 또한'wordpress_logged_in'을 검사하기위한'var_dump ($ _ COOKIE)'도 있습니다. – Ohgodwhy

답변

1

아무런 대답이 없기 때문에, 할 것 Google에 팝업 ...

큰 따옴표가 있습니다. mg 태그. 이렇게하면 PHP가 손상됩니다.

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

이어야

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

@Guyra는 인용 오류를 지적하고 나는 또한 get_currentuserinfo 워드 프레스 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."' />"; 
} 

} 

Got this code and modified from here을 대신 Gravatar에 다른 서비스에서 아바타를 생성하려면 변화도 있습니다.