# Cài plugin chỉ bằng zip (không SSH)

Khách hàng / admin **chỉ** dùng: **Plugins → Thêm mới → Tải plugin lên**.

## Vì sao lỗi «Plugin file does not exist»?

### Nguyên nhân đã xác định (ảnh server `ls`)

Zip build trên **Windows** cũ ghi tên file trong zip bằng dấu **`\`** (backslash). Linux giải nén ra **một file phẳng** tên kiểu:

`datvetaucaotoc-booking\datvetaucaotoc-booking.php`

→ **Không** có thư mục `includes/`, WordPress tìm `.../datvetaucaotoc-booking/datvetaucaotoc-booking.php` → **không thấy file**.

**Bản zip từ 0.1.6+** build lại với đường dẫn **`/`** trong zip (đúng chuẩn WordPress/Linux).

### Thêm: folder cũ `-xxxxx`

Nếu còn folder `datvetaucaotoc-booking-*` trên host trước khi upload → vẫn lỗi. Cần xóa qua File Manager hosting trước khi cài zip mới.

---

## Quy trình đúng (không SSH)

### Bước 1 — Dọn trong WordPress

1. **Plugins** → mọi bản **Đặt vé tàu cao tốc** → **Vo hiệu hoa** → **Xoa**.

### Bước 2 — Dọn folder còn sót (không cần SSH)

Vào **quản lý hosting** (cPanel, DirectAdmin, Plesk, …) → **File Manager** (trình duyệt):

1. Mở `wp-content/plugins/`
2. **Xóa** mọi thư mục tên `datvetaucaotoc-booking` hoặc `datvetaucaotoc-booking-*` (có dãy chữ lạ phía sau).

*(Đây là thao tác trên web hosting, **không** phải SSH.)*

Nếu không có File Manager, nhờ nhà cung cấp host xóa giúp một lần các folder trên.

### Bước 3 — Upload zip

1. **Plugins → Thêm mới → Tải plugin lên**
2. Chọn **`datvetaucaotoc-booking.zip`** (build từ máy dev)
3. **Cài đặt** → **Kích hoạt**

Sau khi cài **chuẩn**, trong File Manager phải thấy:

`wp-content/plugins/datvetaucaotoc-booking/datvetaucaotoc-booking.php`

**Không** có thêm `-xxxxx` trong tên folder (trừ khi dùng bản flat bên dưới).

### Bước 4 — Nếu host luôn tạo folder `datvetaucaotoc-booking-xxxxx`

Một số host không cho folder tên cố định. Khi đó:

1. Vẫn xóa folder cũ (bước 2)
2. Upload **`datvetaucaotoc-booking-flat.zip`** thay cho file zip thường
3. Kích hoạt — plugin nằm trong folder `-xxxxx` nhưng **file `.php` ngay trong folder đó** (một tầng), vẫn chạy được

---

## File zip trên máy dev

| File | Khi nào dùng |
|------|----------------|
| `datvetaucaotoc-booking.zip` | Host bình thường, đã xóa sạch folder cũ |
| `datvetaucaotoc-booking-flat.zip` | Host hay tạo tên `datvetaucaotoc-booking-xxxxx` |

Build: `powershell -File tools/build-release.ps1`

Trong zip có `HUONG-DAN-CAI-DAT.txt` (tiếng Việt không dấu) gửi kèm khách.

---

## Sau khi kích hoạt

**Đặt vé tàu → Import Excel → Cài đặt →** shortcode trang đặt vé.
