Viết Plugin Cho WordPress: Hướng Dẫn Tạo Từ A-Z
Thịnh Văn Hạnh
11/05/2026
2796 Lượt xem
Chia sẻ bài viết
Viết plugin cho WordPress là cách giúp bạn bổ sung tính năng mới cho website mà không cần chỉnh sửa trực tiếp vào theme hoặc mã nguồn WordPress core. Đây là kỹ năng quan trọng nếu bạn muốn tùy biến website theo nhu cầu riêng, giảm phụ thuộc vào plugin bên thứ ba và kiểm soát tốt hơn hiệu năng, bảo mật cũng như khả năng mở rộng.
Trong bài viết này, BKNS sẽ hướng dẫn bạn cách viết plugin cho WordPress theo hướng thực hành. Sau khi làm theo các bước bên dưới, bạn có thể tự tạo một plugin mẫu, kích hoạt trong trang quản trị WordPress và hiển thị nội dung ra ngoài giao diện bằng shortcode.
Tóm Tắt Bài Viết
- Plugin WordPress là gì?
- Khi nào nên tự viết plugin cho WordPress?
- Cần chuẩn bị gì trước khi viết plugin WordPress?
- Hướng dẫn viết plugin wordpress
- Lưu ý bảo mật khi viết plugin cho WordPress
- Bảng lỗi thường gặp khi viết plugin cho WordPress
- FAQ về viết plugin cho WordPress
- Viết plugin cho WordPress có khó không?
- Người mới học PHP có tự viết plugin WordPress được không?
- Plugin WordPress nằm ở thư mục nào?
- Làm sao để WordPress nhận diện plugin mới?
- Nên viết plugin hay thêm code vào file functions.php?
- Vì sao plugin tự viết làm website bị trắng trang?
- Có nên đưa plugin tự viết lên website thật ngay không?
- Kết luận
Plugin WordPress là gì?
Plugin WordPress là một gói mã nguồn dùng để bổ sung hoặc mở rộng chức năng cho website WordPress. Thay vì chỉnh sửa trực tiếp vào theme, bạn có thể tạo plugin riêng để thêm shortcode, form liên hệ, nút CTA, tính năng bảo mật, tích hợp API hoặc tự động xử lý nội dung.
Ví dụ, bạn có thể viết plugin cho WordPress để:
- Tạo shortcode hiển thị thông báo.
- Thêm nội dung tự động vào cuối bài viết.
- Tạo form nhận thông tin khách hàng.
- Kết nối website với hệ thống bên ngoài.
- Tùy chỉnh khu vực quản trị WordPress.
- Tạo chức năng riêng cho website bán hàng, blog hoặc landing page.
Điểm mạnh của plugin là tính độc lập. Khi bạn đổi theme, plugin vẫn có thể tiếp tục hoạt động nếu mã nguồn được viết đúng chuẩn. Đây là lý do các chức năng quan trọng nên được tách thành plugin thay vì đặt toàn bộ trong file functions.php của theme.

Khi nào nên tự viết plugin cho WordPress?
Bạn nên tự viết plugin cho WordPress khi website cần một chức năng riêng mà plugin có sẵn không đáp ứng tốt. Việc tự viết plugin giúp mã nguồn gọn hơn, tránh cài quá nhiều plugin nặng và giảm nguy cơ xung đột giữa các tiện ích.
Một số trường hợp nên viết plugin riêng gồm:
- Website cần một tính năng nhỏ nhưng plugin ngoài quá cồng kềnh.
- Bạn muốn kiểm soát toàn bộ logic xử lý.
- Website cần chức năng riêng cho bán hàng, đặt lịch, hiển thị nội dung hoặc thu thập dữ liệu.
- Bạn muốn tách chức năng khỏi theme để dễ bảo trì.
- Bạn cần tạo shortcode dùng lại nhiều lần.
- Bạn muốn tối ưu tốc độ tải trang và hạn chế plugin thừa.
Tuy nhiên, nếu bạn chưa quen PHP hoặc chưa hiểu cách WordPress hoạt động, hãy bắt đầu với plugin đơn giản. Không nên viết ngay các plugin xử lý thanh toán, tài khoản người dùng, phân quyền hoặc dữ liệu quan trọng nếu chưa có kinh nghiệm bảo mật.

Cần chuẩn bị gì trước khi viết plugin WordPress?
Trước khi viết plugin cho WordPress, bạn cần chuẩn bị một môi trường test riêng. Không nên thử code trực tiếp trên website đang chạy thật. Chỉ một lỗi PHP nhỏ cũng có thể khiến website trắng trang hoặc không truy cập được.
Bạn nên chuẩn bị:
- Một website WordPress dùng để test.
- Hosting, local hoặc staging riêng.
- Trình soạn code như Visual Studio Code, PhpStorm hoặc Sublime Text.
- Kiến thức cơ bản về PHP.
- Quyền truy cập vào thư mục
/wp-content/plugins/. - Tài khoản quản trị WordPress.
- Công cụ File Manager, FTP hoặc SSH nếu cần upload file.
Nếu dùng WordPress Hosting BKNS, bạn có thể tạo môi trường kiểm thử riêng để thử plugin trước khi áp dụng lên website chính. Cách này giúp hạn chế lỗi, bảo vệ dữ liệu thật và an toàn hơn khi cần chỉnh sửa mã nguồn.
Bạn cũng nên bật chế độ debug trong file wp-config.php khi test plugin:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Cấu hình này giúp WordPress ghi lỗi vào file log thay vì hiển thị trực tiếp ngoài website. Nhờ đó, bạn dễ phát hiện lỗi cú pháp, lỗi function hoặc lỗi xung đột plugin.
Hướng dẫn viết plugin wordpress

Bước 1: Thiết lập môi trường thử nghiệm
Bạn nên sử dụng môi trường thử nghiệm khi thực hiện các thay đổi khác có thể ảnh hưởng đến website của bạn. Việc viết plugin wordpress cũng vậy. Đây còn được gọi là staging site hoặc local environment, tùy thuộc vào việc website được lưu trữ trên server bên ngoài hay máy tính của riêng bạn. Môi trường thử nghiệm là một bản sao của website của bạn. Điều này cho phép bạn thêm và chỉnh sửa các file và chức năng của website của mình mà không có nguy cơ gây ra thiệt hại cho website đang hoạt động. Nó rất quan trọng khi bạn đang làm việc với các file và plugin core vì những sai lầm có thể gây hại lâu dài cho website của bạn.
Để thiết lập, bạn nên sử dụng DesktopServer. Chương trình này giúp bạn dễ dàng cài đặt phiên bản WordPress cục bộ trên máy tính. Bạn cũng có thể tạo một staging site online. DreamHost là một site giúp bản sao cho website.
Đọc thêm: Lưu trữ đám mây là gì? Tại sao nên sử dụng lưu trữ đám mây
Bước 2: Tạo thư mục và viết tên cho Plugin
Truy cập localhost > Mở thư mục “plugin”

Tạo thư mục con trong thư mục plugin, đặt tên thư mục theo tên plugin muốn viết

Viết code cho plugin, code được viết bằng ngôn ngữ lập trình php và lưu dưới tệp php. Nếu muốn viết plugin wordpress sau đó đăng lên wordpress.org thì lưu thêm 1 tệp readme.txt.

Bước 3: Viết chức năng cho plugin
Tùy thuộc vào chức năng của plugin mà bạn có thể viết code theo ý muốn. Dưới đây là một ví dụ

Ngoài ra có thể thêm CSS để định dạng cho plugin

Bước 4: Kích hoạt plugin WordPress đã viết
Mở website wordpress đã lưu trên localhost
Chọn plugin > Tìm plugin vừa viết
Nhấn “Active” để kích hoạt

Để tải plugin lên, bạn truy cập vào: https://wordpress.org/plugins/developers/add/
Bây giờ plugin sẽ được thêm vào website của bạn và bạn có thể kích hoạt nó như bình thường.
Lưu ý bảo mật khi viết plugin cho WordPress
Khi viết plugin cho WordPress, bạn không chỉ cần code chạy được. Plugin cũng phải an toàn. Nếu xử lý dữ liệu không đúng cách, website có thể bị lỗi bảo mật, spam form hoặc chèn mã độc.
Không cho truy cập trực tiếp vào file plugin
Luôn thêm đoạn này ở đầu file plugin:
if (!defined('ABSPATH')) {
exit;
}
Dòng này giúp đảm bảo file chỉ chạy bên trong WordPress. Nếu ai đó truy cập trực tiếp vào file PHP, mã sẽ dừng lại.
Escape dữ liệu đầu ra
Khi hiển thị dữ liệu ra ngoài giao diện, nên dùng các hàm escape phù hợp:
esc_html($text);
esc_url($url);
esc_attr($attribute);
Các hàm này giúp giảm nguy cơ chèn mã độc vào HTML.
Sanitize dữ liệu đầu vào
Nếu plugin có form nhập dữ liệu, cần làm sạch dữ liệu trước khi lưu hoặc xử lý.
Ví dụ:
$name = sanitize_text_field($_POST['name']);
$email = sanitize_email($_POST['email']);
Không nên tin tưởng dữ liệu người dùng gửi lên. Mọi dữ liệu đầu vào đều cần được kiểm tra và xử lý trước khi dùng.
Kiểm tra quyền người dùng
Nếu plugin có chức năng trong trang quản trị, cần kiểm tra quyền bằng:
current_user_can('manage_options');
Điều này giúp ngăn người dùng không đủ quyền truy cập vào chức năng quản trị.
Dùng nonce khi xử lý form
Nonce giúp chống tấn công CSRF. Nếu plugin có form, bạn nên thêm nonce vào form và kiểm tra trước khi xử lý dữ liệu.
Ví dụ khi tạo form:
wp_nonce_field('bkns_form_action', 'bkns_form_nonce');
Khi xử lý form:
if (!isset($_POST['bkns_form_nonce']) || !wp_verify_nonce($_POST['bkns_form_nonce'], 'bkns_form_action')) {
exit;
}
Đây là bước quan trọng nếu plugin có chức năng lưu dữ liệu, thay đổi cài đặt hoặc xử lý thông tin từ người dùng.
Bảng lỗi thường gặp khi viết plugin cho WordPress
| Lỗi thường gặp | Nguyên nhân có thể | Cách xử lý |
|---|---|---|
| Plugin không hiển thị trong Dashboard | Thiếu plugin header hoặc sai vị trí file | Kiểm tra file PHP chính và phần khai báo plugin |
| Website bị trắng trang | Lỗi cú pháp PHP | Bật WP_DEBUG, kiểm tra file log |
| Shortcode không hoạt động | Chưa đăng ký add_shortcode() hoặc nhập sai shortcode |
Kiểm tra tên shortcode và function xử lý |
| Plugin kích hoạt bị lỗi fatal error | Hàm bị trùng tên hoặc code sai | Đổi prefix function, kiểm tra cú pháp |
| CSS không hiển thị | Hook sai hoặc cache chưa xóa | Kiểm tra wp_head, xóa cache website |
| Nội dung bị lặp nhiều lần | Filter chạy ngoài main query | Thêm điều kiện is_main_query() và in_the_loop() |
| Không lưu được dữ liệu form | Thiếu xử lý POST hoặc nonce sai |
Kiểm tra sanitize, nonce và quyền người dùng |
| Plugin gây xung đột theme | CSS, JS hoặc function đặt tên quá chung | Dùng prefix riêng như bkns_ cho function/class |
Khi gặp lỗi, không nên sửa trực tiếp trên website chính. Bạn nên test trên staging hoặc hosting thử nghiệm để tránh làm gián đoạn website đang hoạt động.
FAQ về viết plugin cho WordPress
Viết plugin cho WordPress có khó không?
Viết plugin cho WordPress không quá khó nếu bạn đã biết PHP cơ bản và hiểu cách WordPress hoạt động. Với plugin đơn giản như shortcode hoặc thêm nội dung cuối bài, bạn có thể thực hiện khá nhanh. Với plugin xử lý dữ liệu, API hoặc tài khoản người dùng, bạn cần kiến thức bảo mật tốt hơn.
Người mới học PHP có tự viết plugin WordPress được không?
Có. Người mới có thể bắt đầu bằng plugin đơn giản như tạo shortcode, thêm thông báo hoặc chèn CTA vào bài viết. Không nên bắt đầu bằng plugin phức tạp liên quan đến thanh toán, phân quyền hoặc lưu dữ liệu quan trọng.
Plugin WordPress nằm ở thư mục nào?
Plugin WordPress thường nằm trong thư mục:
/wp-content/plugins/
Mỗi plugin nên có một thư mục riêng. Trong thư mục đó cần có file PHP chính chứa plugin header để WordPress nhận diện.
Làm sao để WordPress nhận diện plugin mới?
WordPress nhận diện plugin thông qua phần plugin header trong file PHP chính. Nếu thiếu đoạn khai báo như Plugin Name, plugin sẽ không xuất hiện trong trang quản trị.
Nên viết plugin hay thêm code vào file functions.php?
Nếu chức năng liên quan trực tiếp đến theme, bạn có thể thêm vào functions.php. Nhưng nếu chức năng cần dùng lâu dài, không phụ thuộc giao diện, bạn nên viết plugin riêng. Cách này giúp website dễ bảo trì hơn khi đổi theme.
Vì sao plugin tự viết làm website bị trắng trang?
Nguyên nhân thường là lỗi cú pháp PHP, gọi hàm không tồn tại, trùng tên function hoặc lỗi trong quá trình kích hoạt plugin. Bạn nên bật WP_DEBUG, kiểm tra log lỗi và test trên staging trước khi dùng trên website chính.
Có nên đưa plugin tự viết lên website thật ngay không?
Không nên. Bạn nên test plugin trên local, staging hoặc website thử nghiệm trước. Sau khi kiểm tra lỗi, xung đột và hiệu năng, bạn mới nên cài plugin lên website thật.
Kết luận
Như vậy, bài viết trên BKNS đã hướng dẫn bạn tự viết plugin cho wordpress. Có thể thấy việc tự viết plugin wordpress không khó như nhiều người nghĩ. Điều quan trọng là bạn phải có kiến thức về ngôn ngữ lập trình php để biến ý tưởng thành những đoạn code hoàn chỉnh.
Nếu còn bất cứ thắc mắc gì đừng ngại bình luận ở phía dưới.
Ngoài ra, BKNS còn là nhà cung cấp những dịch vụ về tên miền, đăng ký Email Hosting , hosting giá rẻ, vps, ssl, thiết kế web… Bạn có thể liên hệ với BKNS qua số điện thoại 1900.63.68.09 khi có nhu cầu sử dụng dịch vụ giải pháp mạng của BKNS nhé!



































