Lập trình plugin wordpress

Có thể nói plugin là thành phần quan trọng nhất trong khi sử dụng WordPress, bạn có thể tìm và sử dụng rất nhiều plugin miễn phí trên kho chứa plugin khổng lồ của WordPress hoặc thậm chí là mua luôn những phiên bản plugin pro để sử dụng. Ngoài ra, đối với những thứ đơn giản hơn thì bạn có thể tự tay viết cho mình một plugin để sử dụng, thậm chí plugin này chỉ bao gồm vài dòng code hoặc nhiều hơn. Trong bài viết này sẽ hướng dẫ chi tiết cách bạn tạo plgin đơn giản nhất.

Plugin là gì

Plugin là một phần mềm, hay nói cách khác nó là một hay nhiều tập tin PHP có chứa nhiều dòng lệnh hoặc hàm (function) do người dùng viết ra. Và dĩ nhiên nếu đã là các tập tin PHP thì plugin sẽ phải được viết với ngôn ngữ PHP, trong đó ngoài các hàm do người dùng tạo ra thì còn các hàm kế thừa từ thư viện có sẵn của WordPress.

Đối với WordPress, nếu bạn cần một plugin nào đó thì bạn có thể tìm kiếm trước trên mạng thông qua Google hoặc tìm kiếm trực tiếp trên kho plugin của WordPress. Trong trường hợp đặc biệt ta có thể viết riêng cho mình plugin để dùng

Bạn cần phải có những kiến thức gì trước khi bắt đầu?

Cũng giống như việc lập trình giao diện cho WordPress, trước khi có thể đi vào phần nội dung tiếp theo trong serie này thì bạn cần phải có một số kiến thức nhất định, những kiến thức yêu cầu chung Sáu sẽ liệt kê trong danh sách bên dưới.

  • Kiến thức về HTML và CSS cơ bản
  • Kiến thức về PHP cơ bản
  • Ngoài 2 loại kiến thức bên trên thì bạn có thể bổ sung thêm kiến thức về MySQL, Javascript,… nếu cần.
  • Kiến thức về Action Hook và Filter Hook.

Cấu trúc thư mục và tập tin

Tạo thư mục và tập tin là hai bước bạn phải làm đầu tiên trong quá trình viết plugin, cũng giống như việc xây nhà vậy, bạn phải tạo ra được một cái mống cố định rồi sau đó mới tiếp tục xây tiếp phần bên trên, ở đây cấu trúc thư mục đóng vai trò tương tự vậy.

Thư mục của plugin phải được đặt trong thư mục mà WordPress dành riêng cho các plugin hoạt động, bắt buộc bạn phải bỏ plugin vào thư mục này thì mới có thể kích hoạt và sử dụng, đường dẫn đó bạn có thể xem bên dưới.

wp-content/plugins/thank-you/thank-you.php

Các thư mục con và các tập tin sẽ được đặt nằm trong thư mục gốc plugin của bạn.

Thư mục plugins của WordPress

Thư mục plugins của WordPress

Bắt đầu viết code cho plugin

Đối với tập tin PHP chính của plugin, bạn phải đặt một vài ghi chú ở phía trên cùng của tập tin, những ghi chú này bao gồm tên của plugin, tên của tác giả, mô tả cho plugin, phiên bản hiện tại của plugin và đường dẫn trang chủ của plugin với trang chủ của tác giả. Cụ thể hơn, những phần cơ bản này bạn sẽ phải tạo giống như bên dưới, thay thông tin lại cho phù hợp với plugin của bạn.


<?php
/**
* Plugin Name: my first plugin demo
* Plugin URI: http://thientran.blog/
* Description: This is the very first plugin 
* Version: 1.0
* Author: Thien Tran
* Author URI: http://thientran.blog/
**/
// hàm được gọi khi add_filter thực thi
function func_thank_you($content) {
        return $content = $content . "Xin cám ơn !" ;
        }
//Kêu gọi sự kiện thực thi
add_filter( 'the_content', 'func_thank_you' );
?>

Bạn lưu nội dung này vào file thank-you.php trùng tên và đặt trong thư chứa phugin cần tạo \wp-content\plugins\thank-you\ . Vậy là bây giờ bạn đã có thể vào bảng điều khiển và kích hoạt plugin rồi đấy. Đây là một plugin hoàn toàn mới mang tên my first plugin demo.

Thông tin của plugin hiển thị trong bảng điều khiển

Thông tin của plugin hiển thị trong bảng điều khiển

Hiểu thêm về Hook, Action và Filter

Hook là gì?

Khái niệm này cũng không quá khó hiểu, đây là khái niệm do WordPress đưa ra để cho phép bạn thực thi một hàm nào đó vào một thời gian xác định, bạn không cần biết đến khái niệm chi tiết của nó, bạn chỉ cần hiểu được nó dùng để làm gì là được rồi. Có 2 loại Hook chính đó là: Action và Filter.

Action là gì?

Action là một loại Hook, và nó là một hàm PHP nào đấy. Action được đặt ở một ví trí nhất định cho phép bạn gọi một lệnh nào đấy tại vị trí bạn đặt Action.

Ví dụ như bạn muốn thêm một đoạn mã javascript nào đấy vào phần footer trước khi kết thúc thẻ </body> thì bạn có thể sử dụng Action wp_footer.

Cấu trúc sử dụng của hàm add_action() là:

add_action( $hook, $function_to_add, $priority, $accepted_args );

Trong đó:

  • $hook (string) (bắt buộc) – Tên hook cần móc vào.
  • $function_to_add (callback) (bắt buộc) – Tên hàm cần sử dụng.
  • $priority (integer) (tuỳ chọn) – Mức độ ưu tiên của hàm này thực thi với các hàm khác nếu nó có chung một hook. Mặc định là 10, số càng nhỏ thì nó càng thực hiện sớm hơn.
  • $accepted_args (integer) (tuỳ chọn) – Số lượng tham số được sử dụng trong hàm callback. Mặc định là 1.

Filter là gì?

Filter cũng là một loại Hook, nó được đặt nằm giữa cơ sở dữ liệu và trình duyệt web, khi bạn thực thi một câu lệnh nào đó thì đều phải thông qua ít nhất một Filter, và dĩ nhiên đây cũng là một hàm PHP. Filter đóng vai trò là người quản lý, nó sẽ lọc những thông tin người dùng muốn đưa vào cơ sở dữ liệu và ngược lại.

Để đăng ký một filter bạn sử dụng hàm add_filter:

add_filter( $tag, $function_to_add, $priority, $accepted_args );

Trong đó:

  • $tag: tên filter hook
  • $function_to_add: tên hàm của filter, nó được gọi khi sử dụng.
  • $priority: một filter có thể chứa nhiều hàm, chỉ định thứ tự hàm này được gọi

Viết plugin sử dụng Shortcode

Shortcode là thành phần bạn hay thấy khi sử dụng giao diện và plugin, do vậy bài viết này sẽ hướng dẫn cho bạn cách viết plugin và khai báo Shortcode để sử dụng trong bài viết của WordPress.

Đối với Shortcode, bạn có thể tự tạo ra cho mình nhiều nhiều loại khác nhau để đính kèm vào bài viết, ví dụ bạn tạo Shortcode form liên hệ, tạo form đăng ký nhận bài viết, tạo nút liên kết sử dụng CSS3,… tất cả những thứ đó bạn cho vào một plugin và sử dụng lại nó mỗi khi bạn cài lại WordPress.

Ví dụ:

//Khởi tạo function cho shortcode
function create_shortcode() {
        echo "Xin chào Thien'sBlog";
}
//Tạo shortcode tên là [new_shortcode] và sẽ thực thi code từ function create_shortcode
add_shortcode( 'new_shortcode', 'create_shortcode' );

Sau đó ta có thế gắn shortcode này vào trang/bài viết theo cú pháp sau :

[new_shortcode]

vào bất cứ vị trí nào nào ta muốn hiển thị nội dung Sortcode !

Tóm lại

Việc lập trình plugin về nguyên tắc khá đơn giản, tuy nhiên ta có thể tùy biến để nó có thể thực hiện các chức năng phức tạp hơn .

Thực hành: Xem video https://www.youtube.com/watch?v=IjCQZwgVgXM để viết một Sortcode form liên hệ đơn giản

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Free & easy ad network.