花魁直播高品质美女在线视频互动社区 - 花魁直播官方版

 歡迎來到素材無憂網(wǎng),按 + 收藏我們
登錄 注冊 退出 找回密碼

WordPress自定義用戶頭像實現(xiàn)代碼

時間: 2020-09-16 11:13 閱讀: 作者:素材無憂網(wǎng)

經(jīng)常有用戶給我反應(yīng),要求增加自定義頭像功能。WordPress的頭像可以通過統(tǒng)一gravatar服務(wù)設(shè)置,但很多用戶反應(yīng)說太麻煩,想要自定義效果。沒辦法,為了滿足你們,特意寫了這篇文章。純代碼實現(xiàn)WordPress自定義用戶頭像功能,不是插件,當然wordpress管理后臺也沒有設(shè)置的地方,此功能適用于前端用戶,非要管理員使用也是可以的,自己想想辦法吧。

頭像是一張圖像,自定義就需要保存用戶的頭像到服務(wù)器。這里上傳圖像到服務(wù)器可以使用wordpress提供的函數(shù),也可以使用PHP提供的基礎(chǔ)文件上傳函數(shù),這樣做需要注意安全,別被傳馬了。

<?phpif ('POST' != $_SERVER['REQUEST_METHOD']) {header('Allow: POST');header('HTTP/1.1 405 Method Not Allowed');header('Content-Type: text/plain');exit;}header('Content-Type:application/json; charset=utf-8');require dirname(__FILE__) . '/../../../../wp-load.php';if (!is_user_logged_in()) {print_r(json_encode(array('error' => 1, 'msg' => '必須登錄才能操作')));exit;
}global $current_user;$path = WP_CONTENT_DIR.'/uploads/avatar/'; //在 uploads目錄下創(chuàng)建一個 avatar目錄if(!is_dir($path)){
mkdir($path);
}extract($_POST);$pre = strrchr($_FILES['file']["name"],".");if($_FILES['file']["error"]>0){
switch($_FILES['file']["error"]){
case 1:
print_r(json_encode(array('msg'=>'文件大小超過php.ini設(shè)置的大小 2M')));
exit;
break;
case 2:
print_r(json_encode(array('msg'=>'文件大小超過表單設(shè)置的大小')));
exit;
case 3:
print_r(json_encode(array('msg'=>'文件只有部分被上傳')));
exit;
break;
case 4:
print_r(json_encode(array('msg'=>'沒有文件被上傳')));
exit;
break;
case 6:
print_r(json_encode(array('msg'=>'找不到臨時文件夾')));
exit;
break;
case 7:
print_r(json_encode(array('msg'=>'文件寫入失敗')));
exit;
break;}}//圖片類型過濾$pic_arr = array("image/jpeg","image/jpg","image/pjpeg","image/png","image/x-png");if(!in_array($_FILES['file']["type"],$pic_arr)){print_r(json_encode(array('msg'=>'圖片類型不允許')));exit;}//圖片大小過濾if($_FILES['file']["size"]>(1*1024*1024)){
print_r(json_encode(array('msg'=>'圖片大小不允許')));
exit;}$img_name=base64_encode($current_user->user_email).$pre;if(is_uploaded_file($_FILES['file']["tmp_name"])){
move_uploaded_file($_FILES['file']["tmp_name"],$path.$img_name);
$img_url = WP_CONTENT_URL.'/uploads/avatar/'.$img_name;
update_user_meta($current_user->ID,'tb_local_avatar',$img_url);
print_r(json_encode(array('error' => 0)));
exit;}

上面是我測試自定義頭像功能使用的代碼,沒考慮太多安全問題,使用時需要謹慎。

版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!

轉(zhuǎn)載請注明: WordPress自定義用戶頭像實現(xiàn)代碼

標簽:  
推薦文章
模板推薦