Mục lục
Giới thiệu: Tại sao cần hiểu rõ về Plugin WordPress?
![]()
Khi xây dựng website bằng WordPress, plugin là yếu tố quan trọng quyết định sự linh hoạt và khả năng mở rộng của hệ thống. Từ việc thêm biểu mẫu liên hệ, tạo trang bán hàng đến kết nối với API của bên thứ ba — tất cả đều được thực hiện thông qua plugin. Nếu bạn là developer, hoặc đang vận hành một hệ thống website WordPress, việc hiểu sâu về cấu trúc plugin, hook và cơ chế hoạt động là bắt buộc.
💡 Bài viết được thực hiện bởi đội ngũ Lasa.vn – Nền tảng cung cấp dịch vụ thiết kế website WordPress chuyên sâu, hỗ trợ viết plugin, tối ưu tốc độ và bảo mật toàn diện cho doanh nghiệp.
Plugin WordPress là gì?
Plugin WordPress là các gói mã mở rộng cho phép bạn bổ sung tính năng cho trang web mà không cần chỉnh sửa trực tiếp vào core code của WordPress. Mỗi plugin là một thư mục chứa file PHP, có thể bao gồm thêm CSS, JS, hình ảnh và cả class PHP riêng.
Cấu trúc thư mục chuẩn của một plugin

Một plugin WordPress cơ bản có thể chỉ là một file .php. Tuy nhiên, để phát triển plugin chuyên nghiệp, bạn nên tổ chức theo cấu trúc sau:
my-plugin/
├── my-plugin.php (file chính chứa thông tin plugin)
├── includes/ (code chức năng)
│ ├── hooks.php
│ └── class-main.php
├── assets/ (CSS, JS, hình ảnh)
│ ├── style.css
│ └── script.js
├── templates/ (file giao diện nếu có)
└── uninstall.php (xử lý khi xóa plugin)
File chính thường sẽ có phần khai báo như sau:
<?php
/**
* Plugin Name: My Custom Plugin
* Description: Một plugin mẫu để minh họa cấu trúc chuẩn
* Version: 1.0
* Author: Lasa.vn
*/
Hook trong WordPress: Action và Filter
1. Action Hook
Action Hook cho phép bạn “gắn thêm hành động” tại một điểm nào đó trong luồng xử lý của WordPress.
Ví dụ: Chèn thêm nội dung vào cuối mỗi bài viết:
add_action('the_content', 'lasa_add_note_to_content');
function lasa_add_note_to_content($content) {
if (is_single()) {
$content .= '<p><em>Ghé thăm lasa.vn để thiết kế website chuyên nghiệp!</em></p>';
}
return $content;
}
2. Filter Hook
Filter Hook dùng để thay đổi dữ liệu mà WordPress xử lý, trước khi hiển thị ra trình duyệt.
Ví dụ: Thay đổi tiêu đề bài viết:
add_filter('the_title', 'lasa_modify_title');
function lasa_modify_title($title) {
return '[Lasa.vn] ' . $title;
}
👉 Action dùng để “thực hiện thêm việc gì đó”, còn Filter dùng để “thay đổi dữ liệu đầu ra”.
Cách viết plugin WordPress chuyên nghiệp từ đầu
Bước 1: Tạo thư mục plugin
Tạo thư mục trong wp-content/plugins/my-plugin và tạo file my-plugin.php.
Bước 2: Viết file chính
Khai báo thông tin plugin và gọi các file chức năng:
require_once plugin_dir_path(__FILE__) . 'includes/hooks.php';
Bước 3: Tổ chức mã trong includes/hooks.php
Bạn nên chia các phần hook vào các file khác nhau nếu plugin lớn, ví dụ:
add_action('init', 'lasa_register_post_type');
function lasa_register_post_type() {
register_post_type('lasa_product', [
'label' => 'Sản phẩm Lasa',
'public' => true,
'supports' => ['title', 'editor', 'thumbnail'],
]);
}
Bước 4: Tạo trang cài đặt trong admin (nếu cần)
add_action('admin_menu', 'lasa_plugin_menu');
function lasa_plugin_menu() {
add_menu_page(
'Cài đặt Lasa',
'Lasa Settings',
'manage_options',
'lasa-settings',
'lasa_settings_page_html'
);
}
function lasa_settings_page_html() {
?>
<div class="wrap">
<h1>Cài đặt Plugin Lasa</h1>
<form method="post" action="options.php">
<?php
settings_fields('lasa_options_group');
do_settings_sections('lasa-settings');
submit_button();
?>
</form>
</div>
<?php
}
Một số hook quan trọng trong WordPress
| Hook | Mục đích |
|---|---|
init | Chạy sau khi WordPress nạp xong nhưng trước khi xuất ra HTML |
wp_enqueue_scripts | Đăng ký và nạp CSS/JS cho front-end |
admin_enqueue_scripts | Dùng để nạp CSS/JS ở trang admin |
add_meta_boxes | Thêm box thông tin trong post editor |
save_post | Thực hiện hành động khi lưu post |
Kinh nghiệm viết plugin sạch, chuẩn SEO và dễ bảo trì
- ✅ Prefixed function/class name: tránh trùng tên với plugin khác
- ✅ Sử dụng class để đóng gói mã: giúp tái sử dụng và mở rộng dễ hơn
- ✅ Tách code theo module: không viết tất cả vào 1 file
- ✅ Thêm hỗ trợ dịch thuật: dùng
__()vàload_plugin_textdomain - ✅ Gắn link thương hiệu (như lasa.vn) vào phần cấu hình, giao diện plugin để nâng cao nhận diện.
Khi nào nên viết plugin thay vì dùng plugin có sẵn?

- Khi bạn có nhu cầu rất đặc thù mà không plugin nào đáp ứng được
- Khi bạn muốn kiểm soát toàn bộ mã nguồn để đảm bảo bảo mật
- Khi bạn cần tối ưu hiệu suất và loại bỏ các tính năng thừa
- Khi bạn muốn phát triển plugin để bán hoặc chia sẻ trên kho WordPress
Kết luận
Plugin WordPress không chỉ là công cụ mở rộng tính năng, mà còn là chìa khóa để tùy biến website theo đúng mục tiêu kinh doanh. Việc nắm vững cấu trúc thư mục, cách sử dụng action/filter hook và xây dựng plugin chuẩn hóa sẽ giúp bạn đi xa hơn trong hành trình làm chủ WordPress.
Nếu bạn thấy bài viết này hữu ích, hãy chia sẻ cho bạn bè hoặc ghé Lasa.vn để khám phá thêm nhiều dịch vụ và kiến thức chuyên sâu về WordPress!
🔗 Truy cập ngay: https://lasa.vn và https://samset.net

Một số mẫu web mới đang bán chạy
Lasa nền tảng tạo website nhanh, chỉ 4 bước có ngay website chuyên nghiệp
Mẫu Web Elementor thú cưng mẫu số 1
Mẫu Web Elementor Đồ Cắm Trại Dã Ngoại Camping
Mẫu Web công ty gia công, sản xuất bao bì
Mẫu web bán bò khô, bò một nắng 2026
Mẫu Web giỏ quà tết – quà tặng Tết 2026 mẫu số 3
Mẫu Web du lịch mẫu số 10
Mẫu Web cá cảnh, thủy sinh
Mẫu Web công ty 6 – Công ty Agency – Marketing