WordPress開發 - 怎么在前臺頁面添加自定義用戶頭像功能?

    主題默認使用的 gravatar頭像 在國內不怎么方便(雖然全球都在用),為了適應國內的環境,我們得來修改下,這次分享的WordPress開發教程是在前臺操作的,有點麻煩

    主題默認使用的 gravatar頭像 在國內不怎么方便(雖然全球都在用),為了適應國內的環境,我們得來修改下,這次分享的WordPress開發教程是在前臺操作的,有點麻煩,需要簡便后臺操作的可以看這篇文章《純代碼實現用戶添加自定義頭像功能

    思路:我們可以給 wordpress主題數據庫添加一個用戶自定義字段,然后把前臺上傳的圖片保存到這個自定義字段中,在前臺模板中需要用戶頭像的地方,就調用這個自定義字段就可以了。

    WordPress開發 - 怎么在前臺頁面添加自定義用戶頭像功能?
    背景圖片 - wordpress開發

    第一步:在 wp 主題用戶中心的個人資料修改頁面添加用戶頭像上傳表單:

        <form action="" method="post" enctype="multipart/form-data">
        <!-- 用戶圖像 -->
        <div class="change-photo-btn">
        <div class="photoUpload">
           <span><i class="fa fa-upload"></i> 上傳圖像</span>
           <input type="file" class="upload" name="simple_local_avatar"/>
        </div>
        </div>

    這里的 simple_local_avatar 就是用戶頭像自定義字段鍵名。注:上傳圖片的表單必須要加上 enctype=”multipart/form-data” 這個,沒有這個就無法上傳。

    第二步:在WordPress主題的 functions.php 文件中添加上傳圖片的處理函數代碼:

    //圖片上傳函數:上傳單張圖片
    //參數1:圖片信息; 參數2:存放圖片路徑
    function upload_image($info,$path){
    //獲取圖片后綴
    $pre = strrchr($info["name"],".");
    $img_name = date("YmdHis").$pre;
    //錯誤過濾
    if($info["error"]>0){
    switch($info["error"]){
    case 1: echo "文件大小超過php.ini設置的大小 2M。"; break;
    case 2: echo "文件大小超過表單設置的大小。"; break;
    case 3: echo "文件只有部分被上傳。"; break;
    case 4: echo "沒有文件被上傳。"; break;
    case 6: echo "找不到臨時文件夾。"; break;
    case 7: echo "文件寫入失敗。"; break;
    }
    echo '<script>alert("返回添加圖片頁面。"); window.history.back(); </script>';
    exit;
    }
    //圖片類型過濾
    $pic_arr = array("image/jpeg","image/jpg","image/pjpeg","image/png","image/x-png","image/gif");
    if(!in_array($info["type"],$pic_arr)){
    echo '<script>alert("上傳的文件必須是 jpg、png、gif格式的。"); window.history.back();</script>';
    exit;
    }
    //圖片大小過濾
    if($info["size"]>(10*1024*1024)){
    echo '<script>alert("上傳圖片的大小不能超過 10M。"); window.history.back();</script>';
    exit;
    }
    if(is_uploaded_file($info["tmp_name"])){
    move_uploaded_file($info["tmp_name"],$path.$img_name);
    return $img_name;
    }
    }

    第三步:上傳圖片并保存到數據庫:

        $path = WP_CONTENT_DIR.'/uploads/users_avagar/'; //在 uploads目錄下創建一個 users_avagar目錄
        if(!is_dir($path)){
        mkdir($path);
        }
        //組合 圖片url
        $img_url['full'] = WP_CONTENT_URL.'/uploads/users_avagar/'.upload_image($files,$path);
        update_user_meta($uid,'simple_local_avatar',$img_url); //寫入數據庫

    通過上面的 3 步,我們就對wordPress主題實現了用戶在前臺頁面就可以上傳修改自定義頭像了,然后在需要調用頭像的地方,使用 get_user_meta() 方法來調用。不過,這種方法也有一個缺陷:就是沒有跟 gravatar 頭像調用方法通用,調用 gravatar 頭像的方法:get_avatar() ,如查想使用 get_avatar 來調用我們這個自定義頭像,可以添加一些判斷處理,這里就不多做介紹了。

    • 參考來源: http://naivet.xintheme.cn/wp_course/13.html

    這套教程對于需要開發前臺用戶中心很有用處,如果只是簡單的想要個自定義頭像功能,那么可以參考這篇wordpress開發教程:

    WordPress開發 - 怎么在前臺頁面添加自定義用戶頭像功能?-Npcink
    WordPress開發 - 怎么在前臺頁面添加自定義用戶頭像功能?-Npcink

    純代碼實現用戶添加自定義頭像功能 - wordpres開發

    國內主題

    Ndpic唯美圖 - 相冊類WordPress主題

    2020-10-1 16:57:00

    【WP后臺】為主題添后臺設置

    2019-3-31 15:55:42

    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    0 條回復 A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個人中心
    購物車
    優惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 视频在线一区二区| 无码av免费毛片一区二区| 国产无人区一区二区三区| 中文字幕亚洲一区二区va在线| 国产对白精品刺激一区二区| 亚洲色欲一区二区三区在线观看| 日韩三级一区二区三区| 免费高清在线影片一区| 亚洲爆乳精品无码一区二区 | 呦系列视频一区二区三区| 久久久久久综合一区中文字幕| 久久久久女教师免费一区| 精品久久久久一区二区三区| 合区精品久久久中文字幕一区| 国产精品一区二区电影| 免费观看日本污污ww网站一区| 合区精品久久久中文字幕一区| 一本色道久久综合一区| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲AV无码一区二区二三区软件| 亚洲熟女一区二区三区| 亚洲国产日韩在线一区| 最新中文字幕一区| 亚洲av午夜精品一区二区三区| 丰满少妇内射一区| 加勒比无码一区二区三区| 日本免费一区二区三区最新| 视频在线一区二区三区| 无码人妻精品一区二区三18禁| 精品午夜福利无人区乱码一区| 北岛玲在线一区二区| 无码精品一区二区三区在线| 中文字幕一区视频| 波多野结衣高清一区二区三区| 亚洲区精品久久一区二区三区| 国产伦精品一区二区三区免费下载 | 91精品福利一区二区| 国精产品一区二区三区糖心| 亚洲国产欧美一区二区三区| 亲子乱av一区二区三区| 国产亚洲综合精品一区二区三区|