Học WordPress + AI / WordPress cho người VIỆT !
WPShare247

Học wordpress cho người mới bắt đầu

  • Bắt đầu
    • Học WordPress
    • Elementor
    • WooCommerce
    • Tạo WordPress
    • Học WordPress kiểu mới 2025
    • Học PHP cơ bản
    • Tạo Website bằng WordPress
    • Quản trị WordPress
    • Sửa lỗi WordPress
    • Theme wordpress
    • Plugin WordPress
    • Hàm PHP
    • Seo WordPress
    • Bảo mật WordPress
    • Html & Css
    • Javascript và jQuery
    • Hướng dẫn lập trình
  • Video
    • Video TikTok
    • Video Shorts
  • Kho plugin
  • Tải Web Miễn Phí
  • Công cụ
    • Kiểm tra web WordPress
    • WordPress theme gì?
    • Check IP Website
    • Kiểm tra Tên Miền
    • Kiểm Tra SSL
    • Tạo File Disavow Google
    • Tạo QR Code
  • Giới thiệu
    • Khuyến Mãi
  • Đăng nhập
X
☰

Trang chủ » Code WordPress » Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

📌 Mới: Bạn có thể 🧠 đặt câu hỏi cho AI về nội dung bài viết này ở cuối trang!

Tài liệu Hướng Dẫn Upload File Lên WordPress Bằng Ajax Dành Cho Người Mới

Xuất bản vào 29/05/2025 bởi Chinsu Man Xem: 906
Shares
ChatGPT ChatGPT
Share
Share
Pin

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

Bài viết hướng dẫn có chứa CODE - Copy và sử dụng chúng sẽ tiện hơn cho bạn.

Bạn đang muốn upload nhiều ảnh trong WordPress mà không cần reload trang? Bài viết này sẽ hướng dẫn bạn cách sử dụng Ajax kết hợp với jQuery để upload file hiệu quả, đặc biệt là trong các form nhập liệu như: đăng sản phẩm, đăng bài viết, thêm thông tin khách hàng…

Tại sao nên upload file bằng Ajax?

Việc sử dụng Ajax giúp:

🌱 Nếu thấy bài viết hữu ích, bạn có thể ủng hộ tác giả bằng cách nhấn vào quảng cáo bên dưới — như một donate miễn phí. Bạn không mất gì nhưng chúng tôi sẽ có thêm chi phí để duy trì và vận hành website. Cảm ơn bạn! 🙏

  • Giao diện mượt mà, không reload trang
  • Tiết kiệm thời gian người dùng
  • Tăng trải nghiệm và tính chuyên nghiệp cho website

1. HTML – Tạo input chọn nhiều ảnh

<input id="js-uploads-your-photos" 
       type="file" 
       accept="image/*" 
       class="form-control-file" 
       name="upload-property-file" 
       multiple>
<div id="wpshare247-done"></div>

Giải thích:

  • multiple: Cho phép chọn nhiều ảnh.
  • accept=”image/*”: Chỉ cho phép file ảnh.
  • id=”js-uploads-your-photos”: Dùng để bắt sự kiện jQuery.

Nếu bạn chưa biết thêm html vào WordPress như thế nào, hãy xem bước 5 bên dưới nhé.

2. jQuery – Gửi file qua Ajax

<script>
            
            jQuery("#js-uploads-your-photos").change(function(e){
                var files = this.files;
                if(files.length > 0){
                    jQuery("#wpshare247-done").html('Đang tải file .....');
                    
                    var wp_ajax_url = '/wp-admin/admin-ajax.php';
                    var form_data = new FormData();
            
                    for (let i = 0; i < files.length; i++) {
                        form_data.append(files[i].name, files[i]);
                    }
            
                    form_data.append('action', 'js_uploads_your_photos');
            
                    jQuery.ajax({
                        url: wp_ajax_url,
                        type: 'POST',
                        contentType: false,
                        processData: false,
                        data: form_data,
                        success: function (response) {
                            alert('Đã upload thành công');
                            
                            const successCount = Object.values(response.files).filter(file => file.error === 0).length;
                            
                            jQuery("#wpshare247-done").html('Đã tải thành công: '+ successCount + 'files');
                            
                            console.log('Kết quả upload:', response);
                        }  
                    });
                }
            });


        </script>

 

Lưu ý quan trọng: Khi sử dụng FormData để upload file, cần contentType: false và processData: false.

Nếu webiste chưa có thư viện jQuery bạn hãy thêm đoạn code này vào functions.php trước.

function wpshare247_enqueue_jquery() {
    if (!wp_script_is('jquery', 'enqueued')) {
        wp_enqueue_script('jquery');
    }
}
add_action('wp_enqueue_scripts', 'wpshare247_enqueue_jquery');

3. PHP – Xử lý Ajax trong WordPress

Thêm vào file functions.php hoặc plugin của bạn:

function js_uploads_your_photos_display(){
    $arr_response = array();
    $update = 0;

    $files = $_FILES;

    if(!empty($files)){
        foreach($files as $key => $file){ 
            $_FILES = array("upload-property-file" => $file); 
            foreach ($_FILES as $file_key => $array) {              
                $attach_id = wpshare247_handle_attachment($file_key, 0); 
            }
        }
        $update = 1;
    }

    $arr_response = array(
        'update' => $update,
        'files' => $files
    );

    wp_send_json($arr_response);
    die();
}
add_action('wp_ajax_js_uploads_your_photos', 'js_uploads_your_photos_display');
add_action('wp_ajax_nopriv_js_uploads_your_photos', 'js_uploads_your_photos_display');

4. Hàm xử lý ảnh: Tải lên và gắn vào bài viết

function wpshare247_handle_attachment($file_handler, $post_id, $set_thu = false){
    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);

    return $attach_id;
}

Hàm này sẽ:

  • Tự động upload hình vào thư viện
  • Gắn với post_id (nếu bạn đang tạo bài viết, sản phẩm, đơn hàng…)

Việc thêm ảnh một cách mượt mà không chỉ cải thiện trải nghiệm người dùng mà còn hỗ trợ quá trình quản trị nội dung chuẩn SEO:

  • Tăng tốc độ thao tác
  • Gắn metadata ảnh dễ dàng hơn
  • Quản lý ảnh trong Media Library thuận tiện

Sử dụng Ajax để upload file trong WordPress giúp nâng cấp giao diện quản trị và trải nghiệm người dùng. Với đoạn mã và hướng dẫn trong bài, bạn có thể dễ dàng áp dụng vào bất kỳ form nào trong website WordPress của mình.

5.Cách thêm HTML vào WordPress dành cho người mới bắt đầu

Bạn có thể thêm đoạn HTML trên vào WordPress bằng nhiều cách, tùy vào bạn đang làm việc với 

theme, plugin hay trình tạo trang kéo thả

5.1: Thêm trực tiếp vào file page.php hoặc single.php

Bước thực hiện:

  1. Vào Giao diện » Sửa giao diện (Appearance > Theme File Editor)
  2. Chọn file như page.php, single.php, hoặc template-custom.php
  3. Dán đoạn input vào nơi bạn muốn hiển thị form upload:
    <h3>Upload ảnh sản phẩm:</h3> 
    <input id="js-uploads-your-photos" type="file" accept="image/*" name="upload-property-file" multiple>
  • Ưu điểm: Hiển thị cố định, load nhanh
  • Nhược điểm: Không linh hoạt, cần hiểu HTML/PHP một chút

5.2: Thêm bằng Shortcode trong bài viết hoặc trang

Dành cho người không rành code, thích dùng Gutenberg hoặc Classic Editor.

Bước thực hiện:

  • Dán code PHP sau vào file functions.php:
function wpshare247_upload_input_shortcode(){
    ob_start();
    ?>
    <h3>Upload ảnh sản phẩm:</h3>
    <input id="js-uploads-your-photos" type="file" accept="image/*" name="upload-property-file" multiple>
    <?php
    return ob_get_clean();
}
add_shortcode('upload_anh_ajax', 'wpshare247_upload_input_shortcode');
  • Sau đó bạn vào trang / bài viết bất kỳ, chèn đoạn: [upload_anh_ajax]
  • Ưu điểm: Ai cũng dùng được, dễ chèn vào mọi trang
  • Nhược điểm: Cần thêm shortcode PHP vào theme

5.3: Thêm bằng Custom HTML Block trong Gutenberg

Dành cho người dùng WordPress mới, dùng giao diện block.

Bước thực hiện:

  1. Vào trang / bài viết cần thêm upload
  2. Thêm block “Custom HTML”
  3. Dán đoạn:
<h3>Upload ảnh sản phẩm:</h3> <input id="js-uploads-your-photos" type="file" accept="image/*" name="upload-property-file" multiple>
  • Ưu điểm: Cực nhanh, không cần biết lập trình
  • Nhược điểm: Cần thêm code JS xử lý riêng

5.4: Thêm vào một Page Builder (Elementor, WPBakery…)

Dành cho ai dùng trình kéo thả.

Với Elementor:

  1. Thêm widget HTML
  2. Dán đoạn input HTML vào
  3. JS cần thêm vào phần footer (trong theme hoặc plugin)

Với WPBakery:

  1. Thêm phần tử Raw HTML
  2. Dán đoạn mã
  • Ưu điểm: Dễ chỉnh vị trí, giao diện đẹp
  • Nhược điểm: Không xử lý JS trực tiếp được, phải thêm nơi khác

5.5: Thêm vào Widget (Sidebar hoặc Footer)

  1. Vào Giao diện » Widget
  2. Thêm widget HTML Tùy chỉnh (Custom HTML)
  3. Dán đoạn input vào:
<input id="js-uploads-your-photos" type="file" accept="image/*" name="upload-property-file" multiple>
  • Ưu điểm: Nhanh, tiện lợi
  • Nhược điểm: Ít ai dùng upload ảnh ở sidebar

Bạn nên chọn cách phù hợp với mình:

  • Theme developer: Dùng page.php hoặc shortcode
  • Người dùng bình thường: Dùng shortcode hoặc block HTML
  • Dùng builder như Elementor: Dán vào HTML widget

Bằng cách nào đi nữa thì việc học WordPress bắt đầu từ số 0 luôn quan trọng, bạn có thể xem lại tất cả các bài viết trong Wpshare247 để có thêm nhiều kiến thức nhé.

CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%

❓ Hỏi AI về nội dung bài viết

Tóm tắt nội dung chính Gợi ý mục quan trọng Giải thích mục 1 rõ hơn Viết lại đoạn văn cho dễ hiểu Rút gọn văn bản mà vẫn đủ ý Thêm ví dụ minh hoạ cho đoạn 1 Lọc keyword từ khóa bài viết Lọc thuật ngữ Dịch bài viết sang: Tiếng Anh
Nếu bài viết chưa giải đáp hết thắc mắc của bạn, hãy hỏi WPSHARE247 AI – trợ lý thông minh sẵn sàng hỗ trợ ngay trong nội dung bài viết.

Bạn muốn tích hợp chức năng Hỏi AI trực tiếp dưới mỗi bài viết trên website? Hãy liên hệ dịch vụ thiết kế web tại Website366.com để được hỗ trợ triển khai nhanh chóng và chuyên nghiệp.

Shares
ChatGPT ChatGPT
Share
Share
Pin
← Bài cũ hơn → Bài tiếp theo
ajax úp ảnhajax wordpressupload ảnh
Bài viết liên quan
  • Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

    Tài liệu hướng dẫn tích hợp AI Gemini trực tiếp vào WordPress thông qua API Google từng bước cụ thể

  • Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

    Hướng Dẫn Thêm Button Vào WordPress Editor (TinyMCE)

  • Get_posts trong WordPress dùng như thế nào?

    Get_posts trong WordPress dùng như thế nào?

  • Hướng dẫn cách tích hợp Ui Slider jQuery vào Website WordPress

    Hướng dẫn cách tích hợp Ui Slider jQuery vào Website WordPress

Học thiết kế Web WordPress

Download WordPress

Tải bản WordPress mới nhất

Tiếng Việt: Tải WordPress Mới

Quốc tế: Tải WordPress Mới

Liên kế MXH của WPShare247

Tìm thấy những kiến thức mới từ WPShare247

Giảm 50% Hosting

Xem chi tiết giảm giá 50% gói lưu trự Hosting tại đây => Link giảm 50%

Cách tạo Web bán hàng Bằng Flatsome

https://www.youtube.com/watch?v=gnT8Dn_KiXU

Video Tiktok mới nhất

@hocwordpress SSL bằng Plug-in Wordpress Really Simple SSL giúp bảo mật đúng cách hơn, tránh tình trạng bảo mật ảo HTTPS #wpshare247 #wordpress #plugin #ssl #https ♬ nhạc nền - Học WordPress - WPSHARE247.COM

Cách tạo Website WordPress 2025

https://www.youtube.com/watch?v=HtbtsH8q-KU

Bộ WIDGETS WS247 Đa Năng

Giúp bạn Thiết kế Website WordPress giống mẫu 99% trong thời gian ngắn nhất (Có bản nâng cấp mới V2). Download tại đây

 

Xem chi tiết tại đây  https://wpshare247.com/chia-se-bo-field-widget-giup-ban-thiet-ke-website-wordpress-nhanh-hon

MUA HOSTING – TẶNG BUỔI HỌC WP

Tặng 03 buổi (Mỗi buổi 30 phút) hỗ trợ miễn phí, tất cả các chuyên đề nào về học thiết kế website bằng WordPress khi mua Hosting và Tên miền => tại đây [ Có thể liên hệ bất cứ giờ nào để hỗ trợ học WP ]

Tôi đang cần...
Cách làm blog Plugin Wordpress Bảo mật Wordpress Seo với Wordpress Lỗi Wordpress WooCommerce

MUA HOSTING – TẶNG BUỔI HỌC WP

Chủ đề

  • Code WordPress
  • Hàm WordPress
  • Hướng dẫn WordPress
  • Theme wordpress
  • WooCommerce
  • Seo WordPress
  • Html & Css
  • Javascript và jQuery
  • Plugin WordPress
  • Hướng dẫn lập trình

Tag

add_action (2) add_filter (2) admin code (2) alt (2) Block Theme (2) cart (4) Contact Form 7 (8) css (4) custom post type (2) cài wordpress (2) danh mục sản phẩm (2) elementor (2) elementor free (2) filter (2) flatsome (2) functions.php (2) google font (2) hosting (2) html css (2) hướng dẫn dùng plugin (4) học wordpress (7) javascript (5) jquery (3) localhost (2) Loop (2) mysql (4) ngôn ngữ (2) phpmyadmin (3) plugin (4) plugin wordpress (2) Product (4) SMTP (2) Sản phẩm (3) Template page (2) theme option (2) Theme Wordpress (3) widget (2) woocommerce (25) wordpress (5) WordPress 2025 (2) wp-config (2) wp_enqueue_scripts (2) WP_Query (6) xampp (4) Yoast SEO (2)
Về WPShare247

Học wordpress cho người mới bắt đầu.

WPShare247 là blog chia sẻ các kiến thức về WordPress, sửa chữa lỗi wordpress, giới thiệu theme và plugin wordpress mới nhất. Đào tạo khóa học thiết kế Website bằng WordPress.

Menu
  • Trang chủ
  • Giới thiệu
  • Blog
  • Plugin WordPress
  • Liên hệ
Chủ đề wordpress
  • Sửa lỗi WordPress
  • Plugin WordPress
  • Theme wordpress
  • Seo WordPress
  • WooCommerce

Copyright © 2025 WPSHARE247. All Rights Reserved.
Một sản phẩm của WEB 366

  • Thiết kế web bởi Website366.com
  • Thiết kế website chuyên nghiệp TBAY.VN
  • Thiết kế website bán hàng