亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

為wordpress添加本地頭像功能代替Gravatar

2024-04-25 20:39:13
字體:
來源:轉載
供稿:網友

目前wordpress網站幾乎都是使用Gravatar全球通頭像來關聯用戶頭像的,但是由于Gravatar的服務器是在國外,國內經常由于某些XXX原因而連接不上,今天就來教大家使用代碼將Gravatar頭像半本地化,那么什么是半本地化呢?也就是通過用戶的郵箱判斷用戶是否擁有Gravatar頭像,如果擁有則使用Gravatar頭像,當用戶擁有本地頭像且擁有Gravatar頭像時,則優先使用本地頭像。

<?php

class Simple_Local_Avatars {

private $user_id_being_edited;

public function __construct() {

add_filter( 'get_avatar', array( $this, 'get_avatar' ), 10, 5 );

add_action( 'admin_init', array( $this, 'admin_init' ) );

add_action( 'show_user_profile', array( $this, 'edit_user_profile' ) );

add_action( 'edit_user_profile', array( $this, 'edit_user_profile' ) );

add_action( 'personal_options_update', array( $this, 'edit_user_profile_update' ) );

add_action( 'edit_user_profile_update', array( $this, 'edit_user_profile_update' ) );

add_filter( 'avatar_defaults', array( $this, 'avatar_defaults' ) );

}

public function get_avatar( $avatar = '', $id_or_email, $size = 96, $default = '', $alt = false ) {

if ( is_numeric($id_or_email) )

$user_id = (int) $id_or_email;

elseif ( is_string( $id_or_email ) && ( $user = get_user_by( 'email', $id_or_email ) ) )

$user_id = $user->ID;

elseif ( is_object( $id_or_email ) && ! emptyempty( $id_or_email->user_id ) )

$user_id = (int) $id_or_email->user_id;

if ( emptyempty( $user_id ) )

return $avatar;

$local_avatars = get_user_meta( $user_id, 'simple_local_avatar', true );

if ( emptyempty( $local_avatars ) || emptyempty( $local_avatars['full'] ) )

return $avatar;

$size = (int) $size;

if ( emptyempty( $alt ) )

$alt = get_the_author_meta( 'display_name', $user_id );

// generate a new size

if ( emptyempty( $local_avatars[$size] ) ) {

$upload_path = wp_upload_dir();

$avatar_full_path = str_replace( $upload_path['baseurl'], $upload_path['basedir'], $local_avatars['full'] );

$image_sized = image_resize( $avatar_full_path, $size, $size, true );

// deal with original being >= to original image (or lack of sizing ability)

$local_avatars[$size] = is_wp_error($image_sized) ? $local_avatars[$size] = $local_avatars['full'] : str_replace( $upload_path['basedir'], $upload_path['baseurl'], $image_sized );

// save updated avatar sizes

update_user_meta( $user_id, 'simple_local_avatar', $local_avatars );

} elseif ( substr( $local_avatars[$size], 0, 4 ) != 'http' ) {

$local_avatars[$size] = home_url( $local_avatars[$size] );

}

$author_class = is_author( $user_id ) ? ' current-author' : '' ;

$avatar = "<img alt='" . esc_attr( $alt ) . "' src='" . $local_avatars[$size] . "' class='avatar avatar-{$size}{$author_class} photo' height='{$size}' width='{$size}' />";

return apply_filters( 'simple_local_avatar', $avatar );

}

public function admin_init() {

//load_plugin_textdomain( 'simple-local-avatars', false, dirname( plugin_basename( __FILE__ ) ) . '/localization/' );

register_setting( 'discussion', 'simple_local_avatars_caps', array( $this, 'sanitize_options' ) );

add_settings_field( 'simple-local-avatars-caps', __('Local Avatar Permissions','simple-local-avatars'), array( $this, 'avatar_settings_field' ), 'discussion', 'avatars' );

}

public function sanitize_options( $input ) {

$new_input['simple_local_avatars_caps'] = emptyempty( $input['simple_local_avatars_caps'] ) ? 0 : 1;

return $new_input;

}

public function avatar_settings_field( $args ) {

$options = get_option('simple_local_avatars_caps');

echo '

<label for="simple_local_avatars_caps">

<input type="checkbox" name="simple_local_avatars_caps" id="simple_local_avatars_caps" value="1" ' . @checked( $options['simple_local_avatars_caps'], 1, false ) . ' />

' . __('僅具有頭像上傳權限的用戶具有設置本地頭像權限(作者及更高等級角色)。','simple-local-avatars') . '

</label>

';

}

public function edit_user_profile( $profileuser ) {

?>

<h3><?php _e( '頭像','simple-local-avatars' ); ?></h3>

<table class="form-table">

<tr>

<th><label for="simple-local-avatar"><?php _e('上傳頭像','simple-local-avatars'); ?></label></th>

<td style="width: 50px;" valign="top">

<?php echo get_avatar( $profileuser->ID ); ?>

</td>

<td>

<?php

$options = get_option('simple_local_avatars_caps');

if ( emptyempty($options['simple_local_avatars_caps']) || current_user_can('upload_files') ) {

do_action( 'simple_local_avatar_notices' );

wp_nonce_field( 'simple_local_avatar_nonce', '_simple_local_avatar_nonce', false );

?>

<input type="file" name="simple-local-avatar" id="simple-local-avatar" /><br />

<?php

if ( emptyempty( $profileuser->simple_local_avatar ) )

echo '<span class="description">' . __('尚未設置本地頭像,請點擊“瀏覽”按鈕上傳本地頭像。','simple-local-avatars') . '</span>';

else

echo '

<input type="checkbox" name="simple-local-avatar-erase" value="1" /> ' . __('移除本地頭像','simple-local-avatars') . '<br />

<span class="description">' . __('如需要修改本地頭像,請重新上傳新頭像。如需要移除本地頭像,請選中上方的“移除本地頭像”復選框并更新個人資料即可。<br/>移除本地頭像后,將恢復使用 Gravatar 頭像。','simple-local-avatars') . '</span>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文在线观看| 精品国产乱码久久久久久天美| 粉嫩av一区二区三区免费野| 亚洲视频在线播放| 色综合伊人色综合网| 国产91精品青草社区| 国语自产精品视频在线看抢先版图片| 欧美高清在线视频观看不卡| 亚洲日韩欧美视频一区| 2020国产精品视频| 欧美精品www| 亚洲国内精品视频| 亚洲人成网在线播放| 国产99在线|中文| 国产精品99久久久久久久久久久久| 国产精品jizz在线观看麻豆| 欧美高清激情视频| 日韩av在线免费播放| 一级做a爰片久久毛片美女图片| 中文字幕久久久av一区| 欧美xxxx做受欧美.88| 久久韩剧网电视剧| 国产精品1234| 国产97在线播放| 日韩有码视频在线| 欧美激情精品久久久久久大尺度| 国产精品久久久久一区二区| 中文字幕一区电影| 成人www视频在线观看| 欧美亚洲成人精品| 色婷婷av一区二区三区久久| 清纯唯美亚洲激情| 一区二区三区动漫| 51午夜精品视频| 中文字幕亚洲天堂| 欧美激情免费看| 国产精品美女在线| 91日本在线观看| 国产日韩精品一区二区| 国产午夜精品免费一区二区三区| 色先锋久久影院av| 国产mv免费观看入口亚洲| 欧美激情精品久久久久久| 亚洲视频欧洲视频| 日韩av在线网址| 日韩美女主播视频| 在线看日韩av| 激情懂色av一区av二区av| 中文字幕欧美国内| 成人黄色免费在线观看| 欧美激情在线播放| 久久国产精品久久久久久久久久| 亚洲欧美国产一区二区三区| 欧美日韩精品国产| 97av在线视频| 亚洲天堂av网| 国产精品老牛影院在线观看| 韩国视频理论视频久久| 18一19gay欧美视频网站| 在线观看日韩视频| 欧美成人性色生活仑片| 久久在线精品视频| 久久精品人人做人人爽| 国产精品18久久久久久首页狼| 欧美日韩中国免费专区在线看| 夜夜嗨av一区二区三区四区| 91在线高清免费观看| 美女av一区二区| 按摩亚洲人久久| 色偷偷av一区二区三区| 91精品久久久久久综合乱菊| 色琪琪综合男人的天堂aⅴ视频| 91豆花精品一区| 国产欧美日韩中文字幕| 超薄丝袜一区二区| 一本大道亚洲视频| 日韩国产在线播放| 91极品视频在线| 久久精品小视频| 奇米成人av国产一区二区三区| 永久免费毛片在线播放不卡| 91精品国产综合久久香蕉的用户体验| 日韩免费高清在线观看| 国产亚洲精品美女| 欧美一级bbbbb性bbbb喷潮片| 久久久久久久999精品视频| 亚洲综合色激情五月| 国产精品黄色av| 91高清免费在线观看| 韩国欧美亚洲国产| 97在线精品视频| 久久久久久久久久国产精品| 亚洲国产福利在线| 欧美亚洲另类制服自拍| 久久亚洲精品中文字幕冲田杏梨| 麻豆国产va免费精品高清在线| 91免费电影网站| 欧美裸体视频网站| 久久香蕉精品香蕉| 国产精品亚洲网站| 国产亚洲精品久久久优势| 久久久久久久久久久久久久久久久久av| 久久久免费在线观看| 亚洲美女www午夜| 秋霞成人午夜鲁丝一区二区三区| 久久噜噜噜精品国产亚洲综合| 68精品久久久久久欧美| 亚洲免费一级电影| 国产欧美精品一区二区三区-老狼| 91在线观看免费高清| 亚洲自拍偷拍视频| 中文字幕亚洲欧美日韩高清| 欧美老女人性生活| 欧美日韩xxx| 91中文字幕在线观看| 国内免费精品永久在线视频| 亚洲精品短视频| 亚洲精品第一国产综合精品| 亚洲三级黄色在线观看| 揄拍成人国产精品视频| 91精品国产高清自在线看超| 日韩av电影手机在线观看| 国产精品色午夜在线观看| 欧美亚洲另类在线| 国产精品白嫩美女在线观看| 韩国国内大量揄拍精品视频| 91亚洲精华国产精华| 中文字幕日韩精品在线观看| 国产91在线播放精品91| 欧美激情在线观看视频| 成人中文字幕+乱码+中文字幕| 国产福利成人在线| 久久久女女女女999久久| 国产亚洲欧美aaaa| 国产97在线|日韩| 欧美成人激情视频免费观看| 欧美日韩精品在线播放| 国产精品日日摸夜夜添夜夜av| 欧美人与性动交a欧美精品| 国产偷国产偷亚洲清高网站| 国产91精品青草社区| 欧美亚洲视频在线观看| 亚洲精品视频免费| 色爱精品视频一区| 中文字幕亚洲一区在线观看| 国产成人91久久精品| 亚洲成人激情图| 成人免费自拍视频| 亚洲在线一区二区| 亚洲视频777| 中文日韩在线视频| 国产午夜精品视频免费不卡69堂| 91精品国产91久久久久久最新| 国产精品视频公开费视频| 国产精品久久久久77777| 97视频免费在线观看| 欧美色视频日本高清在线观看| 日韩在线视频一区| 国产精品高清免费在线观看| 欧美成人激情视频免费观看| 九九热视频这里只有精品| 日韩小视频在线| 国产精品免费观看在线| 日韩av免费在线播放|