>  기사  >  백엔드 개발  >  WordPress_php 기술에서 아바타 이미지를 얻고 사용자 정의하기 위한 PHP 스크립트에 대한 자세한 설명

WordPress_php 기술에서 아바타 이미지를 얻고 사용자 정의하기 위한 PHP 스크립트에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 20:02:401117검색

get_avatar()(아바타 가져오기)
get_avatar() 함수는 댓글 목록에서 매우 일반적으로 사용되는 고정된 이메일 주소나 사용자의 아바타 코드를 가져오는 데 사용됩니다.

이 함수는 아바타의 HTML 코드(img 태그)를 필터링하는 get_avatar 필터를 제공합니다.

백그라운드 "설정"의 "토론"에서 "아바타 옵션 표시"가 꺼진 경우 False가 반환됩니다.

사용방법

get_avatar( $id_or_email, $size, $default, $alt );

매개변수

$id_or_email

(정수 | 문자열 | 개체) (필수) 사용자의 이메일 또는 사용자의 개체입니다. 루프에 있는 경우 get_the_author_meta( 'ID' ) 함수를 사용하여 현재 기사의 작성자를 호출할 수 있습니다.

기본값: 없음

$사이즈

(정수) (선택 사항) 아바타의 크기(픽셀 단위)는 최대 512입니다.

기본값: 96
get_avatar() (아바타 가져오기)
$기본

(문자열) (선택) 아바타에서 반환한 사진이 없는 경우 기본값은 "신비한 남자"이며 사진 URL일 수 있습니다.

기본값: 빈 문자열(신비한 남자)

$alt

(문자열) (선택 사항) 아바타 img 태그의 alt 속성 내용입니다.

기본값: 거짓

반환값

(String | Boolean) 아바타의 img 태그를 반환합니다. 백그라운드의 "설정"의 "토론"에서 "아바타 표시 옵션"이 꺼져 있으면 False를 반환합니다.

댓글 목록:

<&#63;php echo get_avatar( $GLOBALS['comment'] ); &#63;>

현재 기사 작성자의 아바타를 가져오는 루프:

<&#63;php echo get_avatar( get_the_author_meta( 'ID' ), 32 ); &#63;>

맞춤 이메일:

<&#63;php echo get_avatar( 'email@example.com', 32, '', '自定义邮箱' ); &#63;>


맞춤 아바타 이미지를 위한 Alt 태그
WordPress는 기본적으로 get_avatar() 함수를 통해 호출되는 Gravatar 아바타를 사용합니다. 일반적으로 댓글을 호출할 때 사용됩니다.

get_avatar() 함수의 네번째 속성인 $alt를 이용하면 리턴코드의 alt태그를 설정할 수 있는데, 대부분의 사람들이 사용시 설정하지 않고 공백으로 되어있습니다.

검색 엔진 크롤러는 이미지의 내용을 읽을 수 없으며 Alt 태그에만 의존할 수 있습니다. Alt 태그가 없는 이미지는 SEO에 매우 좋지 않습니다.

모든 아바타에 alt 태그를 추가하려면 테마의 function.php(자세히 알아보기) 파일에 다음 코드를 입력하세요.

/**
  *WordPress 自定义头像图片的 alt 标签
  *根据不同的人生成不同的 alt 标签
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar ){
  $alt = 'Gravatar 头像';//alt 标签的内容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt' );

코드의 $alt 변수를 수정하려는 alt 태그의 내용으로 수정하세요.

사람에 따라 다른 대체 태그 생성

사람마다 다른 Alt 태그를 배치하려면 다음 예제 코드를 사용할 수 있습니다.

/**
  *WordPress 自定义头像图片的 alt 标签
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email ){
  if( $id_or_email == 'bingoblog@163.com' || $id_or_email === 1 ){
    $alt = '博主 Gravatar 头像';//博主的 alt 标签内容
  }else{
    $alt = 'Gravatar 头像';//普通访客的 alt 标签内容
  }
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 2 );

이미 설정된 Alt 태그를 교체하지 마세요

설정된 alt 태그(get_avatar() 함수의 $alt 속성)의 내용을 바꾸지 않으려면 다음 코드를 사용하면 됩니다.

/**
  *WordPress 自定义头像图片的 alt 标签
  *如果已经设置 alt 标签则不替换
  *http://www.endskin.com/avatar-alt/
*/
function Bing_avatar_alt( $avatar, $id_or_email, $size, $default, $alt ){
  if( !empty( $alt ) ) return $avatar;
  $alt = 'Gravatar 头像';//alt 标签的内容
  $before = strpos( $avatar, "alt='" );
  $after = strpos( $avatar, "'", $before );
  if( $before === false || $after === false ) return $avatar;
  $alt = esc_attr( $alt );
  return substr( $avatar, 0, $before ) . "alt='$alt" . substr( $avatar, $after + strlen( "'" ) );
}
add_filter( 'get_avatar', 'Bing_avatar_alt', 10, 5 );


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.