Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/kritsadaskt/asw-register/archive/refs/heads/main.zipปลั๊กอิน WordPress สำหรับรับลีด (lead) หลายฟอร์ม พร้อมเก็บ UTM, ส่ง API ภายนอก, อีเมลแจ้งผู้กรอก และส่งออก Leads เป็น Excel/CSV
- Requires: WordPress 6.2+, PHP 7.4+
- Text domain:
asw-register
ความสามารถหลัก
- สร้าง/แก้ไขฟอร์มได้หลายชุดจากเมนู ASW Register ในแอดมิน
- ฟิลด์มาตรฐาน + ฟิลด์กำหนดเอง (ประเภท text, email, tel, textarea, select, radio, checkbox)
- เก็บ UTM / gclid / HandL ผ่านฟิลด์ซ่อน (เติมค่าฝั่งเบราว์เซอร์)
- ส่งข้อมูลไป REST/AJAX ภายนอก (ตั้ง endpoint, method, headers ได้)
- ส่งอีเมลขอบคุณหลังส่งฟอร์ม (merge tags)
- รายการ Leads + กรองตามฟอร์ม + ส่งออก (ต้องมี
vendor/จาก Composer สำหรับ Excel) - ฝั่งหน้าเว็บใช้ Tailwind CSS v4.2 (prefix
aswr:) สำหรับ UI ฟอร์ม — build เป็นไฟล์ CSS คงที่
ติดตั้งบน host (อัปโหลดแล้วใช้ได้เลย)
แนวทางที่เหมาะกับการ zip โฟลเดอร์ปลั๊กอินแล้วอัปโหลด โดยไม่รัน Composer / Node บนเซิร์ฟเวอร์
- อัปโหลดโฟลเดอร์
asw-registerไปที่wp-content/plugins/ - ตรวจว่ามี
vendor/(รวมvendor/autoload.php) อยู่ในแพ็กเกจที่ deploy - ตรวจว่ามี
assets/build/asw-reg-form-tw.cssเป็นเวอร์ชันล่าสุด (ไฟล์นี้ได้จากnpm run build:twตอนพัฒนา) - เปิดใช้งานปลั๊กอินใน ปลั๊กอิน — ตารางฐานข้อมูลจะถูกสร้างตอน activate
ถ้าขาด vendor/ ฟีเจอร์ส่งออก Excel จะแจ้งให้รัน composer install แทน
พัฒนาในเครื่อง local
Composer (PhpSpreadsheet)
cd wp-content/plugins/asw-register
composer install --no-dev --optimize-autoloader
- เก็บ
composer.lockใน git - สำหรับ deploy แบบ “อัปแล้วใช้ได้เลย” ให้ commit
vendor/และ อย่า ใส่vendor/ใน.gitignore
Tailwind v4.2 (สไตล์ฟอร์มหน้าเว็บ)
cd wp-content/plugins/asw-register
npm install
npm run build:tw
- แก้สไตล์/utility ที่
src/tw-form.cssและ/หรือคลาสaswr:*ในtemplates/form-template.phpแล้วรันbuild:twอีกครั้ง node_modules/อยู่ใน.gitignore— บน host ไม่จำเป็นต้องมี Node- ควร commit ไฟล์
assets/build/asw-reg-form-tw.cssหลัง build เพื่อให้ production ตรงกับ UI ล่าสุด
คำสั่ง watch ระหว่างแก้ UI:
npm run watch:tw
การใช้งานในเว็บไซต์
Shortcode
แทรกในหน้า/โพสต์ (หรือบล็อก):
[asw_register_form id="123"]
แทน 123 ด้วย ID ฟอร์มจากหน้าแอดมิน (มีข้อความบอก ID ตอนแก้ฟอร์ม)
ตัวเลือก class เพิ่มเติม:
[asw_register_form id="123" class="my-extra-class"]
Inject ลงหน้าโปรเจกต์ (#register_form)
ในแต่ละฟอร์ม (แท็บ General) เลือก Inject into page จากรายการโพสต์ประเภท condominium / house ที่ไม่อยู่ในหมวด thank-you และไม่ถูกกรองตามกฎ title ภายในโค้ด — ปลั๊กอินจะแสดงฟอร์มในแองเคอร์ #register_form ของธีมเมื่อเปิดหน้าโพสต์นั้น (ยังใช้ shortcode ที่อื่นได้ตามปกติ)
โครงสร้างโฟลเดอร์ (สรุป)
| Path | รายละเอียด |
|---|---|
includes/ |
ตรรกะหลัก: ฟอร์ม, leads, AJAX, shortcode, inject |
includes/admin/ |
หน้าแอดมิน, บันทึกฟอร์ม, export |
templates/ |
เทมเพลตฟอร์มหน้าเว็บ |
templates/admin/ |
เทมเพลตแอดมิน |
assets/js/, assets/css/ |
สคริปต์/สไตล์แอดมิน + JS ฟอร์มหน้าเว็บ |
assets/build/ |
CSS ฟอร์มที่ build จาก Tailwind |
src/tw-form.css |
entry ของ Tailwind v4 |
vendor/ |
แพ็กเกจ Composer (PhpSpreadsheet ฯลฯ) |
ฐานข้อมูล
wp_asw_register_forms— เก็บคอนฟิกฟอร์ม (รวมinject_post_idสำหรับหน้า inject)wp_tt_leads— เก็บลีด
เวอร์ชันสคีมาเก็บที่ option asw_reg_db_version — อัปเดตปลั๊กอินจะรัน migration ผ่าน dbDelta ตอนเข้าแอดมินเมื่อเวอร์ชันไม่ตรง
การถอนติดตั้ง
ใน Settings ของปลั๊กอินมีตัวเลือกลบข้อมูลตอนถอน — ถ้าเปิด ระบบจะลบตารางและ options ที่เกี่ยวข้องเมื่อถอนปลั๊กอิน (ดู uninstall.php)
เครดิต
- Author: AssetWise PLC
- Plugin URI: https://assetwise.co.th