01/10/2018, 17:27

WordPress Plugin – Phần 1: Viết một plugin đơn giản

Hôm nay, Góc Kinh Nghiệm hướng dẫn các bạn viết một plugin wrodpress đơn giản. Plugin này chỉ có nhiệm vụ đơn giản là hiển thị một message: “WordPress plugin xin chào bà con cô bác” của trang web chúng ta Trước hết, bạn tạo thư mục xin-chao-ba-con ở đâu đó trên desktop hoặc ở bất kì ...

Hôm nay, Góc Kinh Nghiệm hướng dẫn các bạn viết một plugin wrodpress đơn giản. Plugin này chỉ có nhiệm vụ đơn giản là hiển thị một message: “WordPress plugin xin chào bà con cô bác” của trang web chúng ta
Trước hết, bạn tạo thư mục xin-chao-ba-con ở đâu đó trên desktop hoặc ở bất kì thư mục nào đó của bạn. Vì sao chúng ta nên đặt tên như vậy, chẳng qua đó là khuyên để code theo chuẩn của WordPress. Nếu bạn hiếu kỳ, muốn viết theo chuẩn WordPress là gì, bạn có thể tham khảo thêm tại đây
1. Tạo một folder xin-chao-ba-con và một file xin-chao-ba-con.php đặt vào trong thư mục đó. Cấu trúc thư mục của chúng ta như sau

xin-chao-ba-con
--xin-chao-ba-con.php

2. Bạn gõ vào đoạn mã có ý nghĩa dùng cài đặt và hiển thị thông tin

/*
Plugin Name: Xin chào bà con
Description: Hiển thị một message đơn giản trên web
Version: 1.0
Author: Góc Kinh Nghiệm
Author URI: http://gockinhnghiem.com/
*/

Đoạn mã trên có ý nghĩa gì? Đoạn mã này giúp cho plugin của chúng ta hiển thị danh sách plugin. Các bạn nhìn vào hình bên dưới sẽ rõ ý đồ đoạn mã trên

3. Thêm các hook vào plugin
Ok! Chúng ta đã có đoạn mã dùng hiển thị thông tin plugin ở trên. Bây giờ, chúng ta tiến hành thêm các hook vào plugin của chúng ta. Tạm thời các bạn đừng để ý hook là gì, cứ gác nó qua một bên cái đã, chúng ta sẽ bàn sau

a. Dùng activation hook để tạo giá trị mặc định

register_activation_hook(__FILE__, 'xin_chao_ba_con_activation');
function xin_chao_ba_con_activation() {
    add_option('xin_chao_ba_con_message', 'WordPress plugin xin chào bà con cô bác', ', ');
}

Đoạn mã trên sẽ được triệu gọi khi chúng ta tiến hành kích hoạt plugin của chúng ta ở phía admin. Đoạn mã của chúng ta sẽ thêm một option có tên là “xin_chao_ba_con_message” có giá trị là “WordPress plugin xin chào bà con cô bác” vào bảng wp_options của database chúng ta. Cứ mỗi lần chúng ta kích hoạt plugin thì những dữ liệu này sẽ được tạo

b. Dùng get_template_part_loop hook để in câu ra màn hình

add_action('get_template_part_loop', xin_chao_ba_con);
function xin_chao_ba_con(){
  $msg = get_option('xin_chao_ba_con_message');
  echo "<h1>".$msg."</h1>";
}

Đoạn mã trên chúng ta “lợi dụng” lúc thời điểm WordPress đang lấy template cho các bài post, chúng ta “ké” nhờ WordPress in ra giùm câu chào của chúng ta

4. Hook là gì?
Chúng ta đề cập khá nhiều hook ở phía trên. Vậy hook là gì?
Theo cách hiểu của cá nhân Góc Kinh Nghiệm thì hook giống như việc chúng ta “nhờ vả” WordPress làm giúp ta một việc gì đó tại một thời điểm nào đó. Góc kinh nghiệm đưa ra ví dụ cho dễ hiểu, khi trang web WordPress được start lên, thì ông WordPress sẽ làm hàng loạt công việc A, B, C, D. Khi mà ông WordPress đang làm việc C thì chúng ta hook hay “ké”, “nhờ vả” ông WordPress làm giúp việc riêng gì đó cho chúng ta

Hook phân ra làm loại: Action và Filter
– Action hook là khi ông WordPress đang làm gì đó chúng ta “ké”
– Filter là khi ông WordPress đang lọc nội dung, title.. chúng ta “ké” làm một việc gì đó

Mỗi loại hook lại có nhiều hook phục vụ một công việc tại một thời điểm khác nhau
Danh sách tên các hook thuộc loại action hook và filter hook này chúng ta có thể đọc tại đây

5. Đoạn mã cuối cùng cho plugin xin chào bà con cô bác của chúng ta như sau

<?php
/*
Plugin Name: Xin chào bà con
Description: Hiển thị một message đơn giản trên web
Version: 1.0
Author: Góc Kinh Nghiệm
Author URI: http://gockinhnghiem.com/
*/
register_activation_hook(__FILE__, 'xin_chao_ba_con_activation');
function xin_chao_ba_con_activation() {
    add_option('xin_chao_ba_con_message', 'WordPress plugin xin chào bà con cô bác', ', ');
}
add_action('get_template_part_loop', xin_chao_ba_con); 
function xin_chao_ba_con()
{   
  $msg = get_option('xin_chao_ba_con_message');   
  echo "<h1>".$msg."</h1>"; 
}

Sau khi hoàn tất các công việc trên, bạn copy thư mục xin-chao-ba-con của bạn vào thư mục wp-content/plugin.
Sau đó bạn tiến hành kích hoạt plugin đầu tay của chúng ta và bạn sẽ có kết quả như sau

Góc kinh nghiêm sẽ hướng dẫn các bạn viết shortcode để làm người đại diện cho plugin trong phần 2

Hãy cùng Góc Kinh Nghiệm tập viết WordPress plugin:
– Phần 1: Tạo plugin WordPress đơn giản
– Phần 2: Tạo shortcode trong plugin
– Phần 3: Truyền attribute cho shortcode


0