Lập trình plugin wordpress(P1)
Bài đăng này đã không được cập nhật trong 3 năm
Giới thiệu về Plugin
Plugin là gì ?
- Là những tập tin chứa mã PHP
- Giúp mở rộng hoặc thay đổi những chức năng có sẵn trong WP
- Plugin có thể rất đơn giản hoặc rất phức tạp
- Không có bất kỳ giới hạn nào cho Plugin
- Download Plugin tại www.wordpress.org
Quản lý và cài đặt Plugin
- Truy cập vào Admin Site
- Chọn Plugins menu
- Chọn Installed Plugins
Plugin Directory
- URL: http://wordpress.org/extend/plugins/
- Hơn 32.000 plugins
- Kho mã nguồn tham khảo quan trọng nhất
- Tìm kiếm bằng cách search theo chủ đề
- Plugin thông dụng Most Popular
- Tìm kiếm Plugin theo Popular Tags
Ưu điểm của Plugin
- Không cần phải sửa đổi Core của WP
- Không lãng phí thời gian cho những cái đã tồn tại
- Người sử dụng dễ dàng nâng cấp các Plugin
- Dễ dàng chia sẻ Plugin của bạn
- Kế thừa và chỉnh sửa plugin đã có sẵn
- Chuyển hướng khi plugin gây ra lỗi
- Cộng đồng phát triển plugin rất lớn
Các kiểu Plugin trong WP
- Active: đã kích hoạt
- Inactive: chưa kích hoạt
- Must-Use: phải sử dụng
- Drop-in: thay thế core của WP
Xây dựng Plugin căn bản
Cấu trúc một plugin
- Plugin có thể là một tập PHP duy nhất hoặc một tập hợp các tập tin trong một thưc mục
- Với mỗi mục đích sử dụng khác nhau thì ta có thể chọn cách sử dụng khác nhau Ở hình ảnh trên thì plugin có thể là hello.php hoặc là thư mục akismet.
Cách đặt tên cho một plugin
- Tên plugin chưa hề tồn tại trong hệ thống của wordpress (truy cập vào https://wordpress.org/plugins/ và search xem plugin của bạn đã tồn tại trên hệ thống chưa)
- Tạo một tên plugin liên quan đến chức năng mà Plugin xử lý
- Mô tả về plugin
- Tạo ra một pugin thì nên tạo một thư mục chứa plugin để có thể dễ dàng có thể nâng cấp, phát triển thêm nó về sau này
- Tạo một thư mục chứa plugin thì nên không có khoảng trắng và các dấu gạch dưới
Tạo tiền tố trong plugin
- Khi chúng ta tạo ra một plugin mới thì chúng ta nên tạo ra một tiền tố cho plugin của mình
- Ví dụ :fr_mybook_ : ta nên sử dụng tiền tốt này cho các hàm và các biến của plugin của bạn vì để tránh trùng lặp với các hàm và các biến của có sẵn của wordpress
Cấu trúc thư mục plugin
- Tạo thư mục fr-mybook là thư mục lưu plugin
- fr-mybook.php: là tập tin chạy chính của Plugin
- Css là thư mục lưu các file css giúp style Plugin
- Js là thư mục chứa các file về JavaScript
- Includes là thư mục chứa các file php khác
- mages là thư mục chứa các hình ảnh =>>>Các tạo thư mục này giúp chúng ta có thể dễ dàng quản lý, nâng cấp, phát triển Plugin hơn
Header của plugin Để Plugin có thể chạy được trong WP thì chúng ta cần tạo phần Header Bây giờ chúng ta sẽ vào admin phần Plugins để active nó
Phương thức Active plugin
Khi ta ấn nút Activate trong phần plugin thì phương thức sẽ được kích hoạt
register_activation_hook($file, $function);
Trong đoá:
- $file là string và bắt buộc nó là đường dẫn đến tập tin chính của plugin
- $function là tên hàm mà sẽ thực hiện khi mà plugin này được kích hoạt Mục đích
- Tạo ra các giá trị mặc định và lưu và bảng options trong database WP(bảng option chứa toàn bộ các thiết lập của theme và plugin của webiste)
- Tạo ra các bảng mới phục vụ mục đích của plugin
Tạo ra các giá trị mặc định
add_option('_fr_mybook_version', $fr_mybook_version, '', 'yes');
Với add_option ta đã đăng ký vào bẳng _option một bản ghi : option_name: '_fr_mybook_version', option_value: $fr_mybook_version, autoload: yes option_value có thể là số nguyên hay một mảng
Tạo ra bảng mới
global $wpdb : Đối tượng tương tác với database;
$table_name = $wpdb->prefix . 'fr_mybook_book' : Ta tạo ra bảng mới với tiền tố $wpdb->prefix
$wpdb->get_var("SHOW TABLES LIKE '".$table_name."'") != $table_name : Kiểm tra xem bảng đã tồn tại chưa, nếu chưa có thì mới bắt đầu tạo mới
dbDelta($sql): Tạo bảng mới
Kết quả
Phương thức Deactive plugin
Khi ấn nút Deactivate plugin trong phần plugin thì phương thức sẽ được kích hoạt
register_deactivation_hook($file, $function);
Mục đích
- Phương thức này sẽ vô hiệu hoá plugin
- Sẽ thay đổi giá trị cần thiết trong bảng options Sẽ thay đổi giá trị yes thành no vì khi bạn tắt plugin mà khi load trang plugin vẫn sẽ load sẽ ảnh hưởng tới tốc độ của website. Sau khi nhấn deactive sẽ update trường autoload trong options từ 'yes' thành 'no'
Phương thức Uninstall plugin
Khi ta ấn nút delete ở trong phần plugin thì hệ thống sẽ giúp ta xoá các thư mục plugin nhưng những options và database plugin tạo ra thì không xoá được nên việc của phương thức này chính là xoá các options và database liện quan
register_uninstall_hook($file, $function);
Mục đích
- Xoá các giá trị mặc định đã lưu vào bảng options của WP
- Xoá các bảng đã tạo ra trong database
- Hệ thống mặc định sẽ xoá thư mục của plugin
All rights reserved