您好,登錄后才能下訂單哦!
這篇文章主要介紹wordpress前端圖片如何上傳,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
最近研究個項目需要在wordpress前端上傳用戶頭像,在網上查了些資料!解決了這個問題!
1:首先就是在需要的地方添加文件上傳框了
<form action="" method="post" enctype="multipart/form-data"> <input type="file" id="file" name="files[]" multiple="multiple" accept="image/*" /> <input type="submit" name="submit" value="Upload!" /> </form>
2: 對圖片進行處理
$post=get_post(13);//測試用 if ( $_FILES ) { $files = $_FILES['files']; $count= count($files['name']); foreach ($files['name'] as $key => $value) { if ($files['name'][$key]) { $file = array( 'name' => $files['name'][$key], 'type' => $files['type'][$key], 'tmp_name' => $files['tmp_name'][$key], 'error' => $files['error'][$key], 'size' => $files['size'][$key] ); $_FILES = array("files" => $file); foreach ($_FILES as $file => $array) { $newupload = insert_attachment($file,$post->ID);//此方法將文章附加到ID為13的文章中。如果不想插入到文章可以為空"" } } } }
3:在functions.php文件添加功能函數
insert_attachment該函數的第二個參數如果為空將不附加到文章中圖片。
function insert_attachment($file_handler,$post_id,$setthumb='false') { global $wpdb; // check to make sure its a successful upload if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false(); require_once(ABSPATH . "wp-admin" . '/includes/image.php'); require_once(ABSPATH . "wp-admin" . '/includes/file.php'); require_once(ABSPATH . "wp-admin" . '/includes/media.php'); $attach_id = media_handle_upload( $file_handler, $post_id ); $image_url = wp_get_attachment_image_src( $attach_id,'full' ); if ($setthumb){ $wpdb->insert( $wpdb->prefix . 'postmeta', array( 'post_id' => $post_id, 'meta_key' => 'wpcf-vi-img', 'meta_value' => $image_url[0] )); } return $attach_id; }
4:引用方法
$image_url = wp_get_attachment_image_src( $attach_id,'full' );//由于頁面刷新的問題直接在頁面使用這個方法是不生效的!需要在函數中構造此方法的功能。 //循環文章中的特征圖片的方法,如果將圖片附加到文章中使用這個方法可以批量輸出! $imagess=get_post_meta(13,'wpcf-vi-img',false); foreach($imagess as $images){ echo $images; }
以上是“wordpress前端圖片如何上傳”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。