Tạo một plugin wordpress về form đặt xe taxi sân bay và đường dài bằng ChatGPT

Create a wordpress plugin, airport and long distance taxi booking feature (2 tabs), pick-up and drop-off points box using google map api (with instructions for installing google map API), date and time box displays system calendar and flight code in the same row, Vehicle type: 5-seat, 7-seat, 16-seat cars in a row, customer name and customer phone number in the same row with customer email, displays distance fee from pick-up point and drop-off point, has VAT option, information sent to Whatsapp, has admin to edit information such as inserting Google Map API, Whatsapp phone number, unit price information box, customer booking statistics table with address, customer phone number, shortcode, finally packaged into a zip file for download

Phần 1

Tạo một plugin wordpress về form đặt xe taxi sân bay và đường dài điểm đón và điểm trả khách sử dụng google map api , ngày giờ đón, mã chuyến bay, Loại xe: xe 5 chỗ, 7 chỗ, 16 chỗ (có icon tương ứng), họ tên khách hàng, số điện thoại khách hàng, email khách hàng, có tính năng tính phí quãng đường, có lựa chọn thuế VAT, thông tin gửi về Whatsapp , cuối cùng đóng gói thành file zip để tải về

Tải về: taxi-booking-plugin

Những gì có trong plugin

  • taxi-booking/taxi-booking.php — file chính của plugin (đăng ký CPT, nạp các thành phần).

  • includes/admin.php — trang cài đặt: nhập Google Maps API Key, số WhatsApp/phone admin, cấu hình giá (base & per-km), phần trăm VAT.

  • includes/shortcode.php — shortcode [taxi_booking_form] hiển thị form đặt xe + tải script/css + khởi tạo Google Places autocomplete (nếu có API key).

  • includes/ajax.php — xử lý AJAX: lưu booking thành Custom Post Type taxi_booking, tính cước, gửi email thông báo admin.

  • assets/style.css — style cơ bản.

  • assets/script.js — logic frontend: autocomplete, tính quãng đường bằng Google Directions Service (client-side), tính giá tạm, gửi dữ liệu qua AJAX và mở WhatsApp với tin nhắn điền sẵn.

  • readme.txt — hướng dẫn ngắn.

Hướng dẫn nhanh để sử dụng

  1. Giải nén file ZIP và upload thư mục plugin (taxi-booking) vào wp-content/plugins/.

  2. Kích hoạt plugin trong Admin → Plugins.

  3. Vào Settings → Taxi Booking:

    • Điền Google Maps JavaScript API Key (bật cả Places và Directions APIs trên Google Cloud).

    • Điền WhatsApp / Admin Phone ở dạng quốc tế không có dấu + (ví dụ: 84123456789 cho VN).

    • Chỉnh base fare, per km cho từng loại xe và VAT percent.

  4. Tạo trang và chèn shortcode: [taxi_booking_form].

  5. Khi khách điền form:

    • Script cố gắng tính quãng đường tự động bằng Google Maps JS (yêu cầu API key).

    • Hiển thị giá tạm tính (có/không VAT).

    • Gửi booking vào WP (lưu vào CPT taxi_booking và gửi email cho admin).

    • Mở WhatsApp (một tab mới) với nội dung booking để gửi nhanh đến số admin.

Lưu ý kỹ thuật & an toàn

  • Plugin dùng Google Maps JavaScript API (Places + Directions). API key cần được bật giới hạn (referer) cho domain website để an toàn.

  • Việc tính quãng đường được thực hiện client-side (trong trình duyệt) qua google.maps.DirectionsService — plugin không gửi API key lên server.

  • Đã thêm nonce và các sanitize cơ bản; tuy nhiên nếu dùng trên site production bạn nên:

    • Kiểm tra và harden thêm (rate-limiting, validation nâng cao).

    • Thêm logs/notifications nếu cần.

    • Tùy chỉnh template email / giao diện.

  • WhatsApp mở bằng URL https://wa.me/<adminPhone>?text=... — tin nhắn được mã hóa và điền sẵn; người dùng cần bấm gửi trong WhatsApp.


Nếu muốn, mình có thể ngay lập tức:

  • Tùy chỉnh giao diện (icon xe riêng, màu sắc).

  • Thêm tính năng chọn tuyến trả nhiều điểm (multi-stop).

  • Thêm email template, SMS gateway, hoặc lưu CSV export cho bookings.

  • Hoặc chỉnh công thức tính giá (phí cố định + khoảng miễn phí km, surcharge ban đêm…).


Phần 2

Hoàn tất — mình đã tạo một plugin WordPress theo yêu cầu và đóng gói thành file ZIP để bạn tải về.

Những gì bạn vừa nhận được

Tính năng chính đã triển khai

  • Form đặt xe với giao diện nền xanh dương, ô nhập bo góc 20px (CSS đã thiết lập).

  • Trường điểm đón / điểm trả hỗ trợ Google Places Autocomplete và hiển thị bản đồ (Google Maps).

  • Ngày giờ đón và mã chuyến bay nằm cùng một hàng.

  • Loại xe: 5 chỗ, 7 chỗ, 16 chỗ (kèm hình SVG đơn giản).

  • Họ tên, số điện thoại và email khách hàng: nằm cùng hàng (sắp xếp responsive).

  • Hiển thị phí quãng đường (tính bằng Google Distance Matrix API + hệ số rate_per_km trong cài đặt).

  • Lựa chọn tính VAT 10%.

  • Gửi thông tin ra WhatsApp (link https://wa.me/... được tạo tự động khi đặt thành công).

  • Trang admin:

    • Trang thống kê danh sách khách đặt (địa chỉ, số điện thoại, email, loại xe, khoảng cách, giá).

    • Trang Settings để nhập Google Maps API Key, WhatsApp phone number (dạng quốc tế, không có dấu +), và Rate per km (VND).

  • Kết cấu plugin chuẩn: activation hook tạo bảng wp_bnq_taxi_bookings.

Hướng dẫn cài đặt nhanh

  1. Tải file ZIP từ liên kết trên.

  2. Vào Dashboard WordPress → Plugins → Add New → Upload Plugin → chọn file ZIP → Install → Activate.

  3. Vào BNQ Taxi → Settings (trong menu admin) và nhập:

    • Google Maps API Key (phải bật Places & Distance Matrix APIs)

    • WhatsApp number (ví dụ 84123456789 cho +84 123 456 789)

    • Rate per km (VD: 5000 VND)

  4. Chèn shortcode [bnq_taxi_form] vào trang hoặc bài để hiển thị form.

  5. Test:

    • Nhập điểm đón/điểm trả → nhấn Tính phí (plugin gọi Google Distance Matrix).

    • Nhấn Đặt xe & Gửi WhatsApp → lưu booking vào DB và mở WhatsApp với tin nhắn đặt xe.

Lưu ý kỹ thuật & giới hạn

  • Bạn cần một Google Maps API key với quyền Places API (autocomplete) và Distance Matrix API để tính khoảng cách/giá. Nếu không có key, bản đồ và tính phí sẽ không hoạt động.

  • Mình không thể chạy hoặc kiểm tra mã trên máy chủ của bạn — mã đã viết theo chuẩn WP (đã xử lý nonces cơ bản cho settings; các đầu vào form được sanitize), nhưng bạn nên:

    • Kiểm tra quyền truy cập API và quota.

    • Kiểm thử trên môi trường staging trước khi dùng production.

    • Bổ sung bảo mật (nonce cho submit booking nếu cần, và rate-limiting).

  • Hình xe là SVG đơn giản — bạn có thể thay bằng ảnh thực tế trong folder assets/images/.

  • Giá tính đơn giản: price = ceil(distance_km * rate_per_km). VAT được áp dụng trên giá này nếu chọn.

  • WhatsApp: plugin tạo link để mở WhatsApp người quản lý; plugin không gửi tin nhắn tự động từ server (đó yêu cầu API WhatsApp Business và phức tạp hơn).

Nếu bạn muốn mình tiếp tục mở rộng (một vài ý tưởng):

  • Thêm nonce & validation cho form gửi booking.

  • Cho phép chọn địa điểm bằng bấm lên bản đồ (drag marker).

  • Thêm email notification (PHPMailer / wp_mail).

  • Export CSV / filter trong trang admin.

  • Thiết kế ảnh xe đẹp hơn hoặc upload ảnh tự động từ admin.

Bạn muốn mình cập nhật ngay (ví dụ: thêm email notification hoặc export CSV) rồi tái tạo ZIP không?


Phần 3

Hoàn tất — mình đã tạo plugin WordPress theo yêu cầu và đóng gói thành file ZIP.

Tải plugin (taxi-booking-plugin)

Ghi chú ngắn (quan trọng, đọc trước khi cài):

  • Giải nén hoặc upload file zip trực tiếp trong WordPress → Plugins → Add New → Upload Plugin.

  • Vào menu Taxi Bookings → Settings để chèn Google Maps API key (Places + Directions) và số WhatsApp (định dạng quốc tế, không có dấu +, ví dụ 84901234567).

  • Thêm shortcode [tbp_booking_form] vào trang để hiển thị form.

  • Plugin tạo bảng dữ liệu wp_tbp_bookings khi kích hoạt (activation hook).

  • Tính quãng đường/hiển thị bản đồ sẽ hoạt động khi bạn cấu hình đúng Google Maps API key. Nếu chưa cấu hình, form vẫn hiển thị nhưng không tính được quãng đường.

  • Mình đã thêm bảo vệ cơ bản (nonce, sanitize) nhưng khuyến nghị bạn kiểm tra/kích hoạt HTTPS và review mã trước khi dùng trên môi trường production.

Nếu muốn mình:

  • Thêm tính năng email xác nhận,

  • Thay đổi mức giá theo bảng cước khác,

  • Thêm export CSV cho admin,

  • Hoặc chuyển lưu sang Custom Post Type thay vì bảng riêng — nói mình biết, mình sẽ cập nhật ngay.


Phần 4

Xong — mình đã tạo plugin WordPress theo đúng yêu cầu (phiên bản v2) và đóng gói thành file ZIP.

Tải plugin (taxi-booking-plugin-v2)

Tóm tắt những điểm chính đã làm:

  • Form nền xanh, ô nhập bo góc 20px.

  • Điểm đón / điểm trả dùng Google Maps Places + Directions (hiển thị bản đồ và tính quãng đường).

  • Ô Ngày – Giờ dùng datetime-local (hiển thị lịch hệ thống), cùng hàng với Đồng hồ hệ thốngMã chuyến bay.

  • Loại xe (5 chỗ, 7 chỗ, 16 chỗ) hiển thị trên một hàng, icon trắng (kiểu đơn giản).

  • Họ tên, Số điện thoại, Email cùng một hàng.

  • Hiển thị quãng đường (km)Giá; admin có ô cấu hình đơn giá (VND/km) cho từng loại xe.

  • Tùy chọn VAT 10%.

  • Gửi thông tin qua WhatsApp (số cấu hình trong trang Settings).

  • Admin quản lý: thêm Google Maps API, WhatsApp number, và đơn giá; trang admin hiển thị bảng thống kê đặt xe (kèm địa chỉ, số điện thoại, email).

  • Đóng gói thành ZIP để bạn tải về.

Ghi chú an toàn & vận hành:

  • Trước khi dùng trên môi trường production nên kiểm tra kỹ, bật HTTPS, và kiểm tra quyền truy cập cơ sở dữ liệu.

  • Google Maps API phải có Places + Directions enabled và có hạn mức/billing.

  • WhatsApp sử dụng https://wa.me/<number> với số theo định dạng quốc tế (không dấu +).

Nếu muốn mình cập nhật thêm (chỉ chọn, mình làm luôn trong file trước khi bạn tải):

  • Thêm email xác nhận khách/owner.

  • Export CSV hoặc nút xuất Excel trong trang admin.

  • Tự động tính giá theo khung cố định (giá tối thiểu, phụ phí sân bay, v.v).

  • Thêm hiển thị icon xe thực tế (SVG) thay vì số trong vòng tròn.

Bạn muốn mình thêm tính năng nào tiếp theo không?


Phần 5

Xong — mình đã tạo plugin Taxi Booking Plugin v3 theo đúng mô tả và đóng gói thành file ZIP.

Tải plugin (taxi-booking-plugin-v3.zip)

Tóm tắt nhanh:

  • Shortcode: [taxi_booking_form_v3]

  • Form nền xanh, input bo góc 20px.

  • Điểm đón / điểm trả sử dụng Google Maps (Places + Directions).

  • Ngày – giờ (datetime-local), đồng hồ hệ thống và mã chuyến bay trên cùng một hàng.

  • Loại xe (5,7,16 chỗ) cùng hàng, icon trắng SVG.

  • Họ tên, SĐT, Email cùng một hàng.

  • Hiển thị quãng đường (km) và tính phí theo đơn giá admin cấu hình (VND/km).

  • Tùy chọn VAT 10%.

  • Gửi thông tin qua WhatsApp (số cấu hình trong Settings).

  • Admin Settings: Google API, WhatsApp number, đơn giá 3 loại xe.

  • Admin bookings table hiển thị địa chỉ và số điện thoại khách.

  • Đã đóng gói thành zip để tải.

Nếu muốn mình bổ sung: email xác nhận, export CSV, giá tối thiểu, hoặc giao diện khác — mình cập nhật ngay.

Xong — tôi đã tạo plugin WordPress theo yêu cầu và đóng gói thành file ZIP. Bạn có thể tải về tại liên kết dưới đây:

Download the plugin ZIP

Ghi chú quan trọng & hướng dẫn nhanh

  • Tên plugin: BNQ Taxi Booking

  • Shortcode để dùng: [bnq_taxi_form]

  • Cài đặt: giải nén hoặc upload file bnq-taxi-booking.zip vào Plugins > Add New > Upload Plugin, sau đó kích hoạt.

  • Sau khi kích hoạt, vào BNQ Taxi > Settings để cấu hình:

    • Google Maps API Key — cần để hiển thị bản đồ, autocomplete và tính khoảng cách.

    • WhatsApp phone (định dạng quốc tế, không có dấu +, ví dụ 84901234567) — để tạo liên kết WhatsApp khi gửi đơn.

    • Price per km, Base fare, VAT percent.

  • Chức năng:

    • Form có nền xanh, ô input bo góc 20px, ngày giờ + mã chuyến bay cùng hàng, tên/điện thoại/email cùng hàng, lựa chọn loại xe (5/7/16 chỗ), hiển thị bản đồ (Google Maps), tính khoảng cách & phí bằng Google Distance Matrix API, tùy chọn VAT, gửi thông tin qua WhatsApp (mở liên kết wa.me với nội dung đơn), admin quản lý danh sách bookings và settings.

  • Yêu cầu server/site:

    • Cần bật allow_url_fopen hoặc cURL để plugin gọi API Google (WordPress wp_remote_get được sử dụng).

    • Google API Key phải kích hoạt Maps JavaScript API, Places APIDistance Matrix API.

  • Lưu ý bảo mật: mã là một bản khởi đầu — bạn nên kiểm tra, thêm sanitize/escape chu đáo theo nhu cầu cụ thể, và (nếu muốn) dùng nonce & capability checks nâng cao trước khi đưa lên production.

  • Muốn tôi tùy chỉnh thêm (ví dụ thêm phương thức thanh toán, email xác nhận, icon SVG trắng cho từng loại xe, hoặc cải thiện giao diện) thì nói tiếp — tôi sẽ cập nhật mã và gửi lại ZIP ngay.


Xong — tôi đã tạo plugin WordPress theo yêu cầu và đóng gói thành file ZIP. Bạn có thể tải về tại liên kết dưới đây:

Download the plugin ZIP

Ghi chú quan trọng & hướng dẫn nhanh

  • Tên plugin: BNQ Taxi Booking

  • Shortcode để dùng: [bnq_taxi_form]

  • Cài đặt: giải nén hoặc upload file bnq-taxi-booking.zip vào Plugins > Add New > Upload Plugin, sau đó kích hoạt.

  • Sau khi kích hoạt, vào BNQ Taxi > Settings để cấu hình:

    • Google Maps API Key — cần để hiển thị bản đồ, autocomplete và tính khoảng cách.

    • WhatsApp phone (định dạng quốc tế, không có dấu +, ví dụ 84901234567) — để tạo liên kết WhatsApp khi gửi đơn.

    • Price per km, Base fare, VAT percent.

  • Chức năng:

    • Form có nền xanh, ô input bo góc 20px, ngày giờ + mã chuyến bay cùng hàng, tên/điện thoại/email cùng hàng, lựa chọn loại xe (5/7/16 chỗ), hiển thị bản đồ (Google Maps), tính khoảng cách & phí bằng Google Distance Matrix API, tùy chọn VAT, gửi thông tin qua WhatsApp (mở liên kết wa.me với nội dung đơn), admin quản lý danh sách bookings và settings.

  • Yêu cầu server/site:

    • Cần bật allow_url_fopen hoặc cURL để plugin gọi API Google (WordPress wp_remote_get được sử dụng).

    • Google API Key phải kích hoạt Maps JavaScript API, Places APIDistance Matrix API.

  • Lưu ý bảo mật: mã là một bản khởi đầu — bạn nên kiểm tra, thêm sanitize/escape chu đáo theo nhu cầu cụ thể, và (nếu muốn) dùng nonce & capability checks nâng cao trước khi đưa lên production.

  • Muốn tôi tùy chỉnh thêm (ví dụ thêm phương thức thanh toán, email xác nhận, icon SVG trắng cho từng loại xe, hoặc cải thiện giao diện) thì nói tiếp — tôi sẽ cập nhật mã và gửi lại ZIP ngay.


Phần 8

Xong — tôi đã tạo plugin BNQ Taxi Booking (v3) với 2 tab (Sân bay + Đường dài), theo đúng yêu cầu, và đóng gói thành file ZIP. Tải về tại:

Download the plugin ZIP

Tóm tắt nhanh:

  • Shortcode: [bnq3_taxi_form] (hiển thị form 2 tab: Sân bay & Đường dài).

  • Giao diện: nền xanh, ô input bo góc 20px, ngày giờ + mã chuyến bay cùng hàng, họ tên + SĐT + email cùng hàng, loại xe (5/7/16 chỗ) một hàng với icon trắng, bản đồ Google Maps cho mỗi tab.

  • Tính năng: tính khoảng cách & phí bằng Google Distance Matrix API, chọn áp VAT, gửi thông tin qua WhatsApp (mở liên kết wa.me), admin settings để nhập Google API Key, số WhatsApp, giá/đơn giá và VAT, bảng thống kê bookings (kèm địa chỉ & số điện thoại).

  • Yêu cầu: bật API Google (Maps JS, Places, Distance Matrix) và điền API key trong BNQ Taxi → Settings.

  • Lưu ý bảo mật: plugin là bản khởi tạo — kiểm tra trên staging, bổ sung kiểm tra/escape nếu đưa production.

Muốn tôi thêm:

  • email xác nhận, SVG icon trắng thay emoji, xuất CSV thống kê, hoặc tích hợp thanh toán — nói kiểu nào bạn muốn, tôi cập nhật và gửi ZIP mới.

Chia sẻ

Tin tức

Đặt taxi

Pick-up Point Drop-off Point Date Time Flight Code Vehicle Type 5-seat 7-seat 16-seat Customer Name Phone Number Email Distance — Estimated Fare — Add VAT
Tin tức

Mẹo kiếm tiền online

Kiếm tiền online là một xu hướng phổ biến hiện nay, nhưng cần cẩn trọng để tránh bị lừa đảo hoặc mất thời gian vào

Tin tức

Cách tạo banner động

Để tạo banner động cho website WordPress, bạn có thể làm theo các bước sau. Banner động thường là hình ảnh hoặc video chuyển động

Tin tức

Các cách kiếm tiền online

Dưới đây là các cách kiếm tiền online phổ biến và hiệu quả tại Việt Nam, phù hợp với nhiều đối tượng, từ người mới

0963286779