SlideShare a Scribd company logo
1 of 23
Xây dựng Plugin căn bản
Giáo trình: Lập trình Wordpress chuyên nghiệp
Biên soạn: ZendVN Group
Website: www.zend.vn
Nội dung của bài học
o Tạo ra nền tảng vững chắc Plugin.
o Xác định đường dẫn tập tin và thư mục.
o Tìm hiểu về chức năng Active và Deactivate.
o Tìm hiểu về phương thức uninstall plugin.
o Cách viết code chuẩn trong WP
Tạo một Plugin mới
o 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ư mục
o Tùy theo mục đích của Plugin mà chúng ta chọn 1
trong 2 kiểu tạo phía trên
Đặt tên cho Plugin mới
o Đặt tên cho một Plugin là một vấn đề khá quan
trọng
o Tên plugin nên liên qua đến vấn đề Plugin này xử lý
o Tên plugin phải chưa tồn tại trong hệ thống Plugin
của Worpdress
o Tìm hiểu trước tại url:
http://wordpress.org/plugins/
Tạo thư mục cho Plugin
o Tạo một thư mục để chứa plugin mới
o Để dễ dàng nâng cấp và bổ xung thêm chức năng
trong tương lai
o Không nên có khoảng trắng và dấu gạch dưới trong
tên của thư mục
Tạo tiền tố cho Plugin
o Khi chúng ta tạo một Plugin để trách bị trùng tên
chúng ta nên tạo ra một tiền tố cho Plugin mới
o Cách tạo tiền tố: <tên bạn>_<tên plugin>_
o Ví dụ: ZendVN tạo Shopping plugin vậy tiền tố sẽ là:
o zendvn_sp_
o Nên sử dụng tiền tố này cho các biến và hàm trong
Plugin của bạn
Cấu trúc thư mục Plugin
o Tạo một thư mục có cấu trúc hợp lý sẽ giúp bạn nâng
cấp Plugin dễ dàng vào nhanh chóng.
o /unique-plugin-name
 unique-plugin-name.php — Tập tin PHP chạy chính của Plugin
 uninstall.php — Tập tin uninstall plugin của bạn
 /js — Thư mục chứa các tâp tin JavaScript
 /css — Thư mục chứa các tâp tin stylesheet
 /includes — Thư mục chứa các tâp tin PHP khác
 /images — Thư mục chứa các tâp tin hình ảnh của plugin
Tạo phần Header
o Header Plugin là yêu cầu duy nhất với Plugin để nó
hoạt động trong WordPress
Xác định đường dẫn (Path)
o Có 2 loại đường dẫn:
o Đường dẫn tuyệt đối (Local path):
 Là đường dẫn vật lý đến các tập tin và thư mục trên máy
của chúng ta (VD: C:window)
o Đường dẫn tương đối (URL path):
 Là đường dẫn mà người sử dụng truy cập vào máy chủ
của chúng ta thông qua các trình duyệt web
Hàm xác định Path trong WP
o plugin_dir_path( ) – đường dẫn vật lý thư mục /plugins
o plugins_url() - đường dẫn URL thư mục /plugins
o includes_url() - đường dẫn URL đến thư mục /wp-includes
o content_url() - đường dẫn URL đến thư mục /wp-content
o admin_url() - đường dẫn URL đến thư mục /wp-admin
o site_url() - Đường dẫn URL của website
o home_url() - Đường dẫn URL home của website
Phương thức Active plugin
o Cú pháp:
 register_activation_hook( $file, $function );
o Các thông số:
 $file - (string) (bắt buộc) - Đường dẫn đến tập tin chính
của Plugin
 $function - (string) (yêu cầu) - Tên hàm, hàm này sẽ thực
hiện khi plugin được kích hoạt.
Chức năng chính của Active plugin
o Tạo các giá trị mặc định và lưu vào bảng _option
trong database của WP.
o Tạo các bảng mới trong database để chứa các dữ
liệu Plugin bạn tạo ra.
Ví dụ về hàm Active plugin
<?php
register_activation_hook( __FILE__,
'zendvn_myplugin_install' );
function zendvn_myplugin_install() {
//} Thuc hien nhung chuc nang can
//thiet khi Plugin duoc active
}
?>
Ví dụ demo
1. Tạo các giá trị mặc định và lưu vào bảng wp_options
trong database của WP.
2. Tạo các bảng mới trong database để chứa các dữ liệu
Plugin bạn tạo ra.
Phương thức Deactive plugin
o Cú pháp:
 register_ deactivation_hook( $file, $function );
o Các thông số:
 $file - (string) (bắt buộc) - Đường dẫn đến tập tin chính
của Plugin
 $function - (string) (yêu cầu) - Tên hàm, hàm này sẽ thực
hiện khi plugin được vô hiệu hóa.
Chức năng chính của Deactive plugin
o Hàm này sẽ vô hiệu hóa Plugin của bạn
o Thay đổi một số giá trị trong bảng wp_options (nếu
thực sự cần thiết)
o Có thể không cần gọi hàm này nếu bạn thực sự
không làm điều gì trong quá trình vô hiệu hóa
plugin
Ví dụ về hàm Deactive plugin
<?php
register_deactivation_hook(
_FILE__,'zendvn_myplugin_deactive' );
function zendvn_myplugin_deactive() {
//do something
}
?>
Hàm Uninstall
o Cú pháp:
 register_uninstall_hook( $file, $function );
o Các thông số:
 $file - (string) (required) - Đường dẫn đến tập tin chính
của Plugin.
 $function - (string) (required) - Hàm để thực thi khi Plugin
được gỡ bỏ
Chức năng chính của Uninstall plugin
o Thực hiện các nhiệm vụ khi chúng ta xóa Plugin ra
khỏi hệ thống:
 Xóa các giá trị mặc định đã lưu vào bảng _option trong
database.
 Xóa các bảng đã tạo trong database trong quá trình cài
đặt Plugin của bạn.
o Hệ thống WP sẽ giúp bạn xóa thư mục Plugin của
bạn
Ví dụ về hàm Uninstall plugin
<?php
register_uninstall_hook(
__FILE__,'zendvn_myplugin_uninstall' );
function zendvn_myplugin_uninstall() {
//do something
}
?>
Unstall plugin
o Ngoài việc sử dụng phương thức:
 register_uninstall_hook( $file, $function );
o Chúng ta có thể sử dụng một tập tin có tên
 uninstall.php;
Ví dụ về tập tin uninstall.php
<?php
if( !defined( 'WP_UNINSTALL_PLUGIN' ) )
exit ();
//Chạy các hàm xóa cấu hình
//và các bảng đã tạo ra trong Database
?>
Cách viết mã chuẩn trong WP
o PHP Coding Standards
 http://make.wordpress.org/core/handbook/coding-standards/php/
o HTML Coding Standards
 http://make.wordpress.org/core/handbook/coding-standards/html/
o CSS Coding Standards
 http://make.wordpress.org/core/handbook/coding-standards/css/
o JavaScript Coding Standards
 http://make.wordpress.org/core/handbook/coding-standards/javascript/

More Related Content

What's hot

Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webMasterCode.vn
 
tao module joomla 1.5
tao module  joomla 1.5tao module  joomla 1.5
tao module joomla 1.5dvms
 
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPT
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPTBài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPT
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPTMasterCode.vn
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHPNIIT - ICT Hà Nội
 
Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenKhanhPham
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
 
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
 
Báo cáo thực tập athena nguyễn anh tuấn
Báo cáo thực tập athena   nguyễn anh tuấnBáo cáo thực tập athena   nguyễn anh tuấn
Báo cáo thực tập athena nguyễn anh tuấniwubmg
 

What's hot (20)

Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng webBài 4 Bảo mật cho website - Xây dựng ứng dụng web
Bài 4 Bảo mật cho website - Xây dựng ứng dụng web
 
Web201 slide 6
Web201   slide 6Web201   slide 6
Web201 slide 6
 
tao module joomla 1.5
tao module  joomla 1.5tao module  joomla 1.5
tao module joomla 1.5
 
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPT
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPTBài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPT
Bài 6 Lập trình PHP (phần 4) Làm việc với cookie và session - Giáo trình FPT
 
Web201 slide 1
Web201   slide 1Web201   slide 1
Web201 slide 1
 
Web203 slide 8
Web203   slide 8Web203   slide 8
Web203 slide 8
 
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2
 
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng webBài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
 
Web3012 slide 8
Web3012   slide 8Web3012   slide 8
Web3012 slide 8
 
Slide 01
Slide 01Slide 01
Slide 01
 
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì?  9 Thứ thú vị có thể làm với PHPPHP có thể làm gì?  9 Thứ thú vị có thể làm với PHP
PHP có thể làm gì? 9 Thứ thú vị có thể làm với PHP
 
Slide 00 gioi thieu
Slide 00   gioi thieuSlide 00   gioi thieu
Slide 00 gioi thieu
 
Wp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyenWp hoi-thao-phan-quyen
Wp hoi-thao-phan-quyen
 
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTBài 3 Lập trình PHP (phần 1) - Giáo trình FPT
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPT
 
Web201 slide 7
Web201   slide 7Web201   slide 7
Web201 slide 7
 
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webBài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng web
 
Slide1
Slide1Slide1
Slide1
 
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ Java
 
Báo cáo thực tập athena nguyễn anh tuấn
Báo cáo thực tập athena   nguyễn anh tuấnBáo cáo thực tập athena   nguyễn anh tuấn
Báo cáo thực tập athena nguyễn anh tuấn
 
Slide6
Slide6Slide6
Slide6
 

Similar to Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản

Baocao nguyenanhcuong
Baocao nguyenanhcuongBaocao nguyenanhcuong
Baocao nguyenanhcuongCuong Nguyen
 
Create easymoduleinphpfox
Create easymoduleinphpfoxCreate easymoduleinphpfox
Create easymoduleinphpfoxEntu Di
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsdVu Hung Nguyen
 
Joomla! Template Development
Joomla! Template DevelopmentJoomla! Template Development
Joomla! Template DevelopmentJoomlaShine
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docxNgnHng26
 
Phát triển Front-End trên nền Salesforce / Force.com
Phát triển Front-End trên nền Salesforce / Force.comPhát triển Front-End trên nền Salesforce / Force.com
Phát triển Front-End trên nền Salesforce / Force.comHung Le
 
Lap trinh-joomla-15-theo-mo-hinh-mvc
Lap trinh-joomla-15-theo-mo-hinh-mvcLap trinh-joomla-15-theo-mo-hinh-mvc
Lap trinh-joomla-15-theo-mo-hinh-mvcChe Linh Nguyen
 
Hàm (function)
Hàm (function)Hàm (function)
Hàm (function)Son Nguyen
 
Hướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxHướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxChannDara1
 
Bài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaBài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaMasterCode.vn
 
Tran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpressTran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpressTím Biếc
 
Thiết kế giao diện với Liquid
Thiết kế giao diện với LiquidThiết kế giao diện với Liquid
Thiết kế giao diện với LiquidTien Nguyen
 
Hướng dẫn tạo Loader trong .NET - bản dịch
Hướng dẫn tạo Loader trong .NET - bản dịchHướng dẫn tạo Loader trong .NET - bản dịch
Hướng dẫn tạo Loader trong .NET - bản dịchLevis Nickaster
 
Tailieuonline.tk joomla-viet-component
 Tailieuonline.tk joomla-viet-component Tailieuonline.tk joomla-viet-component
Tailieuonline.tk joomla-viet-componentzzbabyloveszz
 

Similar to Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản (20)

Baocao nguyenanhcuong
Baocao nguyenanhcuongBaocao nguyenanhcuong
Baocao nguyenanhcuong
 
Gioi thieu joomla
Gioi thieu joomlaGioi thieu joomla
Gioi thieu joomla
 
Yii
YiiYii
Yii
 
Create easymoduleinphpfox
Create easymoduleinphpfoxCreate easymoduleinphpfox
Create easymoduleinphpfox
 
Hỏi tình hình bk tiny bktiny-hdsd
Hỏi tình hình bk tiny   bktiny-hdsdHỏi tình hình bk tiny   bktiny-hdsd
Hỏi tình hình bk tiny bktiny-hdsd
 
Joomla! Template Development
Joomla! Template DevelopmentJoomla! Template Development
Joomla! Template Development
 
PMMNM.docx
PMMNM.docxPMMNM.docx
PMMNM.docx
 
Phát triển Front-End trên nền Salesforce / Force.com
Phát triển Front-End trên nền Salesforce / Force.comPhát triển Front-End trên nền Salesforce / Force.com
Phát triển Front-End trên nền Salesforce / Force.com
 
Lap trinh-joomla-15-theo-mo-hinh-mvc
Lap trinh-joomla-15-theo-mo-hinh-mvcLap trinh-joomla-15-theo-mo-hinh-mvc
Lap trinh-joomla-15-theo-mo-hinh-mvc
 
Nguyentrongnghia
NguyentrongnghiaNguyentrongnghia
Nguyentrongnghia
 
Hàm (function)
Hàm (function)Hàm (function)
Hàm (function)
 
Hướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptxHướng dẫn sử dụng YOLO v5.pptx
Hướng dẫn sử dụng YOLO v5.pptx
 
Wordpress
WordpressWordpress
Wordpress
 
Joomla developermanual
Joomla developermanualJoomla developermanual
Joomla developermanual
 
Web203 slide 3
Web203   slide 3Web203   slide 3
Web203 slide 3
 
Bài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của JoomlaBài 3 Cài đặt và quản lý các Extension của Joomla
Bài 3 Cài đặt và quản lý các Extension của Joomla
 
Tran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpressTran thikimthao k37103014_wordpress
Tran thikimthao k37103014_wordpress
 
Thiết kế giao diện với Liquid
Thiết kế giao diện với LiquidThiết kế giao diện với Liquid
Thiết kế giao diện với Liquid
 
Hướng dẫn tạo Loader trong .NET - bản dịch
Hướng dẫn tạo Loader trong .NET - bản dịchHướng dẫn tạo Loader trong .NET - bản dịch
Hướng dẫn tạo Loader trong .NET - bản dịch
 
Tailieuonline.tk joomla-viet-component
 Tailieuonline.tk joomla-viet-component Tailieuonline.tk joomla-viet-component
Tailieuonline.tk joomla-viet-component
 

More from KhanhPham

Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10KhanhPham
 
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
 
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 KhanhPham
 
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7KhanhPham
 
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với DreamweaverGiáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với DreamweaverKhanhPham
 
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâuTự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâuKhanhPham
 
Học Zend Framework - Khóa học lập trình Zend Framework
Học Zend Framework - Khóa học lập trình Zend FrameworkHọc Zend Framework - Khóa học lập trình Zend Framework
Học Zend Framework - Khóa học lập trình Zend FrameworkKhanhPham
 
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)KhanhPham
 
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)KhanhPham
 
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)KhanhPham
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)KhanhPham
 
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)KhanhPham
 
Lap trình web PHP - Các hàm xử lý số number trong PHP (CH002 Bài 3)
Lap trình web PHP - Các hàm xử lý số number trong PHP  (CH002 Bài 3)Lap trình web PHP - Các hàm xử lý số number trong PHP  (CH002 Bài 3)
Lap trình web PHP - Các hàm xử lý số number trong PHP (CH002 Bài 3)KhanhPham
 
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)KhanhPham
 
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)KhanhPham
 
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)KhanhPham
 

More from KhanhPham (16)

Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
Tài liệu Zend Framework 2 : Thêm dữ liệu vào database trong ZF2 - Bài 10
 
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9Zend Framework 2.0:  Upload file và Multi upload files trong ZF2 - Bài 9
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
 
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8 Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
Zend Framework 2 - Thao tác Database trong Zend Framework 2 - Bài 8
 
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
Giáo trình Zend Framework 2.0 - Nhúng template vào ứng dung ZF2 (P3) - Bài 7
 
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với DreamweaverGiáo trình thiết kế web - Thiết kế web với Dreamweaver
Giáo trình thiết kế web - Thiết kế web với Dreamweaver
 
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâuTự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
Tự học HTML CSS JS - Khóa học HTML CSS JS chuyên sâu
 
Học Zend Framework - Khóa học lập trình Zend Framework
Học Zend Framework - Khóa học lập trình Zend FrameworkHọc Zend Framework - Khóa học lập trình Zend Framework
Học Zend Framework - Khóa học lập trình Zend Framework
 
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
Tai lieu PHP nang cao - Sử dụng Session và Cookie trong php (CH003 Bài 7)
 
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
Giáo trình PHP căn bản - Lọc dữ liệu với PHP Filter (CH003 Bài 5)
 
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
Giao trinh PHP nang cao - Kỹ thuật đệ qui trong PHP (CH003 Bài 3)
 
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
Giao trinh PHP nang cao - Các hàm xử lý file trong PHP (CH003 Bài 2)
 
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
Giáo trình PHP nâng cao - Biểu thức chính qui trong PHP Regex (CH003 Bài 1)
 
Lap trình web PHP - Các hàm xử lý số number trong PHP (CH002 Bài 3)
Lap trình web PHP - Các hàm xử lý số number trong PHP  (CH002 Bài 3)Lap trình web PHP - Các hàm xử lý số number trong PHP  (CH002 Bài 3)
Lap trình web PHP - Các hàm xử lý số number trong PHP (CH002 Bài 3)
 
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)
Học PHP online - Các hàm xử lý chuỗi trong PHP ( CH002 - Bài 2.1)
 
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)
Học PHP cơ bản - Mảng trong PHP ( CH002 - Bài 1.2)
 
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
Học PHP cơ bản - Tìm hiểu về mảng trong PHP ( CH001 - Bài 1.1)
 

Giáo trình lập trình Wordpress - bài 4 - Tạo Plugin căn bản

  • 1. Xây dựng Plugin căn bản Giáo trình: Lập trình Wordpress chuyên nghiệp Biên soạn: ZendVN Group Website: www.zend.vn
  • 2. Nội dung của bài học o Tạo ra nền tảng vững chắc Plugin. o Xác định đường dẫn tập tin và thư mục. o Tìm hiểu về chức năng Active và Deactivate. o Tìm hiểu về phương thức uninstall plugin. o Cách viết code chuẩn trong WP
  • 3. Tạo một Plugin mới o 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ư mục o Tùy theo mục đích của Plugin mà chúng ta chọn 1 trong 2 kiểu tạo phía trên
  • 4. Đặt tên cho Plugin mới o Đặt tên cho một Plugin là một vấn đề khá quan trọng o Tên plugin nên liên qua đến vấn đề Plugin này xử lý o Tên plugin phải chưa tồn tại trong hệ thống Plugin của Worpdress o Tìm hiểu trước tại url: http://wordpress.org/plugins/
  • 5. Tạo thư mục cho Plugin o Tạo một thư mục để chứa plugin mới o Để dễ dàng nâng cấp và bổ xung thêm chức năng trong tương lai o Không nên có khoảng trắng và dấu gạch dưới trong tên của thư mục
  • 6. Tạo tiền tố cho Plugin o Khi chúng ta tạo một Plugin để trách bị trùng tên chúng ta nên tạo ra một tiền tố cho Plugin mới o Cách tạo tiền tố: <tên bạn>_<tên plugin>_ o Ví dụ: ZendVN tạo Shopping plugin vậy tiền tố sẽ là: o zendvn_sp_ o Nên sử dụng tiền tố này cho các biến và hàm trong Plugin của bạn
  • 7. Cấu trúc thư mục Plugin o Tạo một thư mục có cấu trúc hợp lý sẽ giúp bạn nâng cấp Plugin dễ dàng vào nhanh chóng. o /unique-plugin-name  unique-plugin-name.php — Tập tin PHP chạy chính của Plugin  uninstall.php — Tập tin uninstall plugin của bạn  /js — Thư mục chứa các tâp tin JavaScript  /css — Thư mục chứa các tâp tin stylesheet  /includes — Thư mục chứa các tâp tin PHP khác  /images — Thư mục chứa các tâp tin hình ảnh của plugin
  • 8. Tạo phần Header o Header Plugin là yêu cầu duy nhất với Plugin để nó hoạt động trong WordPress
  • 9. Xác định đường dẫn (Path) o Có 2 loại đường dẫn: o Đường dẫn tuyệt đối (Local path):  Là đường dẫn vật lý đến các tập tin và thư mục trên máy của chúng ta (VD: C:window) o Đường dẫn tương đối (URL path):  Là đường dẫn mà người sử dụng truy cập vào máy chủ của chúng ta thông qua các trình duyệt web
  • 10. Hàm xác định Path trong WP o plugin_dir_path( ) – đường dẫn vật lý thư mục /plugins o plugins_url() - đường dẫn URL thư mục /plugins o includes_url() - đường dẫn URL đến thư mục /wp-includes o content_url() - đường dẫn URL đến thư mục /wp-content o admin_url() - đường dẫn URL đến thư mục /wp-admin o site_url() - Đường dẫn URL của website o home_url() - Đường dẫn URL home của website
  • 11. Phương thức Active plugin o Cú pháp:  register_activation_hook( $file, $function ); o Các thông số:  $file - (string) (bắt buộc) - Đường dẫn đến tập tin chính của Plugin  $function - (string) (yêu cầu) - Tên hàm, hàm này sẽ thực hiện khi plugin được kích hoạt.
  • 12. Chức năng chính của Active plugin o Tạo các giá trị mặc định và lưu vào bảng _option trong database của WP. o Tạo các bảng mới trong database để chứa các dữ liệu Plugin bạn tạo ra.
  • 13. Ví dụ về hàm Active plugin <?php register_activation_hook( __FILE__, 'zendvn_myplugin_install' ); function zendvn_myplugin_install() { //} Thuc hien nhung chuc nang can //thiet khi Plugin duoc active } ?>
  • 14. Ví dụ demo 1. Tạo các giá trị mặc định và lưu vào bảng wp_options trong database của WP. 2. Tạo các bảng mới trong database để chứa các dữ liệu Plugin bạn tạo ra.
  • 15. Phương thức Deactive plugin o Cú pháp:  register_ deactivation_hook( $file, $function ); o Các thông số:  $file - (string) (bắt buộc) - Đường dẫn đến tập tin chính của Plugin  $function - (string) (yêu cầu) - Tên hàm, hàm này sẽ thực hiện khi plugin được vô hiệu hóa.
  • 16. Chức năng chính của Deactive plugin o Hàm này sẽ vô hiệu hóa Plugin của bạn o Thay đổi một số giá trị trong bảng wp_options (nếu thực sự cần thiết) o Có thể không cần gọi hàm này nếu bạn thực sự không làm điều gì trong quá trình vô hiệu hóa plugin
  • 17. Ví dụ về hàm Deactive plugin <?php register_deactivation_hook( _FILE__,'zendvn_myplugin_deactive' ); function zendvn_myplugin_deactive() { //do something } ?>
  • 18. Hàm Uninstall o Cú pháp:  register_uninstall_hook( $file, $function ); o Các thông số:  $file - (string) (required) - Đường dẫn đến tập tin chính của Plugin.  $function - (string) (required) - Hàm để thực thi khi Plugin được gỡ bỏ
  • 19. Chức năng chính của Uninstall plugin o Thực hiện các nhiệm vụ khi chúng ta xóa Plugin ra khỏi hệ thống:  Xóa các giá trị mặc định đã lưu vào bảng _option trong database.  Xóa các bảng đã tạo trong database trong quá trình cài đặt Plugin của bạn. o Hệ thống WP sẽ giúp bạn xóa thư mục Plugin của bạn
  • 20. Ví dụ về hàm Uninstall plugin <?php register_uninstall_hook( __FILE__,'zendvn_myplugin_uninstall' ); function zendvn_myplugin_uninstall() { //do something } ?>
  • 21. Unstall plugin o Ngoài việc sử dụng phương thức:  register_uninstall_hook( $file, $function ); o Chúng ta có thể sử dụng một tập tin có tên  uninstall.php;
  • 22. Ví dụ về tập tin uninstall.php <?php if( !defined( 'WP_UNINSTALL_PLUGIN' ) ) exit (); //Chạy các hàm xóa cấu hình //và các bảng đã tạo ra trong Database ?>
  • 23. Cách viết mã chuẩn trong WP o PHP Coding Standards  http://make.wordpress.org/core/handbook/coding-standards/php/ o HTML Coding Standards  http://make.wordpress.org/core/handbook/coding-standards/html/ o CSS Coding Standards  http://make.wordpress.org/core/handbook/coding-standards/css/ o JavaScript Coding Standards  http://make.wordpress.org/core/handbook/coding-standards/javascript/