KenDoc Manager
a custom plugin for wordpress to upload and search document
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/imprairies26/kendoc/archive/refs/heads/main.zipKenDoc Manager là một plugin quản lý tài liệu chuyên nghiệp dành cho WordPress. Plugin này thay thế các giải pháp cồng kềnh (như CPT UI và ACF), cung cấp một hệ thống quản lý tài liệu dạng module hóa (Modular) với các tính năng như tải lên, tìm kiếm, lưu trữ tài liệu (bookmark), xem PDF trực tiếp, theo dõi lượt xem/tải và hệ thống Dashboard thống kê cho Quản trị viên.
🌟 Các chức năng chính
- Custom Post Type (Tài liệu): Tự động đăng ký CPT
kendoc_documentkèm theo các Taxonomy (Danh mục, Thẻ tài liệu). - Meta Boxes Tùy chỉnh: Cung cấp giao diện thêm file đính kèm, mô tả và cài đặt quyền truy cập (Công khai / Riêng tư) ở màn hình viết bài.
- Hệ thống Phân quyền (Roles): Tự động thêm các Roles chuyên dụng (
Người tải lên,Người xem) với phân quyền xem và upload tài liệu bảo mật. - Tải lên Frontend (AJAX): Cho phép người dùng tải lên tài liệu an toàn từ ngoài giao diện web mà không cần truy cập vào WP Admin.
- Trình xem PDF (PDF.js): Đọc trực tiếp các tệp PDF ngay trên trang chi tiết tài liệu với giao diện tiện lợi (Phóng to, thu nhỏ, chuyển trang).
- Hệ thống Bookmark (AJAX): Người dùng có thể lưu (⭐) và quản lý các tài liệu yêu thích của mình.
- Tìm kiếm Nội tuyến: Thanh tìm kiếm AJAX tự động hiển thị kết quả ngay trên trang danh sách hiện tại mà không bị chuyển hướng sai template.
- Thống kê & Tracking: Theo dõi chính xác lượt xem, lượt tải xuống (chống Bot/CSRF) và hiển thị qua Bảng điều khiển (Dashboard) dành riêng cho Admin.
- Bảo mật Thư mục: Tự động tạo thư mục lưu trữ tách biệt tại
wp-content/uploads/kendoc/đi kèm tệp bảo vệ thư mục.
📂 Cấu trúc thư mục
kendoc-manager/
├── kendoc-manager.php # File khởi tạo chính của plugin
├── README.md # Tài liệu hướng dẫn
├── assets/ # Các file tĩnh (CSS, JS)
│ ├── css/
│ │ ├── kendoc-frontend.css
│ │ └── kendoc-pdf-viewer.css
│ └── js/
│ ├── kendoc-frontend.js
│ └── pdf-viewer.js
├── includes/
│ ├── core/ # Các class lõi (CPT, Meta, Roles, Frontend Shortcodes)
│ │ ├── class-cpt.php
│ │ ├── class-frontend.php
│ │ ├── class-meta.php
│ │ └── class-roles.php
│ └── modules/ # Các tính năng mở rộng (Modules)
│ ├── admin/ # Dashboard thống kê cho Admin
│ ├── bookmark/ # Hệ thống lưu tài liệu yêu thích
│ ├── pdf-viewer/ # Tích hợp thư viện PDF.js
│ ├── search/ # Logic tìm kiếm tài liệu
│ ├── tracking/ # Theo dõi lượt xem / tải xuống
│ └── upload/ # Xử lý Upload file an toàn
└── templates/ # Các Template hiển thị ra giao diện người dùng
├── document-list.php
├── document-single.php
└── document-upload-form.php
🚀 Cách cài đặt
- Sao chép thư mục: Chép toàn bộ thư mục
kendoc-managervào đường dẫnwp-content/plugins/trên website WordPress của bạn. - Kích hoạt Plugin: Truy cập vào Bảng điều khiển (Dashboard) > Plugins trong WordPress và nhấn Activate (Kích hoạt) plugin KenDoc Manager.
- Kiểm tra Cài đặt:
- Sau khi kích hoạt, bạn sẽ thấy menu Tài liệu và KenDoc Dashboard ở cột bên trái của Admin.
- Thư mục tải lên tự động được tạo tại
wp-content/uploads/kendoc/. - Các Role (Người tải lên, Người xem) đã tự động được thêm vào hệ thống phân quyền của WordPress.
💻 Hướng dẫn sử dụng (Shortcodes)
Plugin cung cấp một loạt các Shortcode để bạn dễ dàng hiển thị giao diện lên các Trang (Pages):
[kendoc_list posts_per_page="10"]: Hiển thị danh sách tài liệu công khai (dạng lưới).[kendoc_upload]: Hiển thị biểu mẫu tải lên tài liệu (chỉ dành cho user có quyền upload).[kendoc_my_documents posts_per_page="10"]: Hiển thị danh sách tài liệu mà user hiện tại đã tải lên (bao gồm cả Công khai và Riêng tư).[kendoc_bookmarks]: Hiển thị danh sách các tài liệu user đã lưu (⭐).[kendoc_search]: Hiển thị thanh tìm kiếm tài liệu nội tuyến.[kendoc_bookmark_button]: (Tùy chọn) Chèn nút bookmark thủ công vào bất kì đâu.
💡 Gợi ý tạo trang Frontend: Vào Pages > Add New (Thêm trang mới), đặt tên là "Kho Tài Liệu" và chèn nội dung sau để tạo một thư viện hoàn chỉnh:
[kendoc_search]
[kendoc_list]