REST API Members
A complete WordPress plugin demonstrating **Custom REST API CRUD (Create, Read, Update, Delete)** operations with **frontend form integration, nonce security, and AJAX (fetch API)**.
by Md Ismail Hossain · github.com/ismailanowar/rest-api-members
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/ismailanowar/rest-api-members/archive/refs/heads/main.zip🚀 REST API Members Plugin (WordPress)
A complete WordPress plugin demonstrating Custom REST API CRUD (Create, Read, Update, Delete) operations with frontend form integration, nonce security, and AJAX (fetch API).
📌 Features
- ✅ Custom Post Type: Member
- ✅ REST API CRUD:
- GET all members
- GET single member
- POST (Create)
- PUT (Update)
- DELETE
- ✅ Frontend Form (Shortcode)
- ✅ AJAX (Fetch API) – No page reload
- ✅ Nonce Security (X-WP-Nonce)
- ✅ Logged-in user permission control
- ✅ Clean structured plugin (includes, assets)
📂 Plugin Structure
🚀 REST API Members Plugin (WordPress)
A complete WordPress plugin demonstrating Custom REST API CRUD (Create, Read, Update, Delete) operations with frontend form integration, nonce security, and AJAX (fetch API).
📌 Features
- ✅ Custom Post Type: Member
- ✅ REST API CRUD:
- GET all members
- GET single member
- POST (Create)
- PUT (Update)
- DELETE
- ✅ Frontend Form (Shortcode)
- ✅ AJAX (Fetch API) – No page reload
- ✅ Nonce Security (X-WP-Nonce)
- ✅ Logged-in user permission control
- ✅ Clean structured plugin (includes, assets)
📂 Plugin Structure
rest-api-members/ │ ├── rest-api-members.php ├── includes/ │ ├── api-handlers.php │ └── frontend-form.php │ ├── assets/ │ └── js/ │ └── ajax.js │ └── README.md
⚙️ Installation
-
Download or clone this repository
-
Upload to: wp-content/plugins/
-
Activate plugin from WordPress Dashboard
🔗 API Endpoints
🔹 Get All Members
- Activate plugin from WordPress Dashboard
🔗 API Endpoints
🔹 Get All Members
GET /wp-json/ram/v1/members
🔹 Get Single Member
GET /wp-json/ram/v1/members/{id}
🔹 Create Member
POST /wp-json/ram/v1/members
🔹 Update Member
PUT /wp-json/ram/v1/members/{id}
🔹 Delete Member
DELETE /wp-json/ram/v1/members/{id}
🧪 Example POST Request
{
"name": "John Doe",
"email": "john@example.com",
"phone": "01700000000"
}
🧾 Shortcodes
➤ Create Member Form
[member_form_api]
➤ Edit Member Form
[edit_member_form member_id="15"]
🔐 Security
Uses WordPress Nonce (X-WP-Nonce)
Permission check with is_user_logged_in()
Sanitization:
sanitize_text_field
sanitize_email
💻 Frontend Flow
Form → JavaScript (fetch) → REST API → Database → Response
🚀 Future Improvements
JWT Authentication 🔐
Live Member List (Search + Filter)
React Frontend Integration ⚛️
Role-based permissions
Pagination support
👨💻 Author
Md Ismail Hossain
📜 License
This project is open-source and free to use.