Giới thiệu cơ bản về Action trong wordpress

Liên hệ nhanh
7 December 2014
Comments: Comments Off on Giới thiệu cơ bản về Action trong wordpress

Actions Trong WordPress Và Hướng Dẫn Sử Dụng

Một trong những lý do wordpress trở nên phổ biến trên toàn thế giới là tính linh hoạt của mã nguồn, với cấu trúc đơn giản được gọi là các “hooks” giúp wordpress dễ sử dụng hơn. Nếu không có các bộ lọc “hooks” và các action hooks, wordpress mất đi khả năng mở rộng và các plugin, theme không bổ biến như hiện nay

Trong bài viết này, thiết kế web biên hòa sẽ giới thiệu về actions, một trong hai loại của wordpress hooks, và xuyên suốt bài viết này và các bài viết tiếp theo, chúng tôi sẽ giải thích mọi thứ về action

Vậy Action trong wordpress là gì ?

trên trang in the codex, actions được định nghĩa như sau:

Actions are triggered by specific events that take place in WordPress, such as publishing a post, changing themes, or displaying
an administration screen. Action is a custom PHP function defined in your plugin (or theme) and hooked, i.e. set to respond, to
some of these events.

vì vậy actions là những functions được wordpress dùng thông qua các sự kiện , chạy trước hoặc sau một sự kiện nào đó. Actions là một trong hai loại của “hooks”, loại còn lại được gọi là “filters”

Sử dụng actions trong wordpress

khái niệm actions được hiểu tương đối đơn giản và việc tạo ra , sử dụng một actions cũng đơn giản như vậy, thiết kế web đồng nai sẽ hướng dẫn tạo function đóng vai trò actions, tạo mới, xóa cái sẵn có hoặc tạo một cái liên quan đến cái đã có sẵn trong wordpress

Kích hoạt một Function thành một Action trong wordpres

wordpress cung cấp sẵn một hàm có sẵn để kích hoạt một function thành actions

<?php

add_action( $ten_action, $ten_function, $uutien, $thamso );

?>

giải thích các tham số truyền vào như sau:

$ten_action: tên của action của chúng ta
$ten_function: tên của function đã tạo
$uutien: là một số mà chúng ta chỉ định functions này được chạy ưu tiên trước hay sau các functions khác
$thamso: là số lượng tham số truyền vào của functions đã tạo

Một ví dụ về actions:

<?php

add_action( ‘ten_gi_do’, ‘ten_function’, 5, 2 );

function ten_function( $thamso1, $thamso2 ) {
// code ở đây
}

?>

Xóa một functions từ một actions hook

wordpress cung cấp 2 hàm để remove function từ actions hooks đó là: remove_action() và remove_all_actions(), hãy xem ví dụ

sau đây

<?php

// remove_action( $ten_action, $ten_function, $uutien );
remove_action( ‘ten_gi_day’, ‘ten_function’, 10 );

// remove_all_actions( $ten_action, $uutien)
remove_all_actions( ‘ten_gi_day’, 10 );

?>

hàm remove_action() có 3 tham số truyền vào: tên của action, tên của function và độ ưu tiên, các thông số này chúng ta có thể thấy khi dùng hàm add_action. Hàm remove_all_actions() thì không có tham số tên function bởi vì nó sẽ remove tất cả các actions đã được kích hoạt

Tạo một Action Hook
nếu bạn là người viết wordpress plugins hoặc theme, cách code tốt nhất là tạo một vài hook trong code để các người coder khác có thể mở rộng plugin hoặc theme của bạn. Để làm điều này, có 2 function được cung cấp: do_action() và do_action_ref_array().
Chúng ta hãy xem ví dụ sau đây:

<?php

do_action( $ten_action, $thamso1, $thamso2, /* … */ $thamsoN );

/*
* Usage:
*
* add_action( ten_action, ten_function )
*
* function ten_function( $thamso1, $thamso2 ) {
* //code ở đây
* }
*
*/

?>

như bạn đã thấy bên trên, hàm này được truyền trực tiệp vào rất nhiều tham số, bạn muốn bao nhiêu cũng được, nếu bạn muốn lưu giữ tham số trong một mảng, thì dùng hàm sau đây:
<?php

$args = array( $thamso1, $thamso2, /* … */ $thamsoN );

do_action_ref_array( $ten_action, $thamso );

/*
* cach su dung:
*
* add_action( ten_action, ten_function )
*
* function ten_function( $thamso ) {
* // code o day
* }
*
*/

?>

Kiểm tra số lần Action thực thi
nếu bạn muốn biết action được gọi bao nhiêu lần khi chạy code, bạn có thể dùng một hàm để quản lý, đếm số lần action:

<?php

function dem() {
$dem = did_action( ‘ten_action’ );
if ( 1 === $dem ) {
// code o day
}
}

?>

tham số truyền vào duy nhất cho hàm này là tên của action bạn đã kích hoạt

Kiểm tra sự tồn tại một Action đã có sẵn
tưởng tượng rằng bạn là một coder phát triển một plugin và bạn cần biết người sử dụng sau khi download về đã cài đặt hay chưa ? để kiểm tra điều này, bạn có thể dùng hàm has_action()

<?php

if( has_action( ‘ten_action’ ) {
add_action( ‘ten_action’, ‘mo_rong’ );
} else {
wp_die( ‘sorry’ );

}

?>

giống như did_action() , hàm has_action() chỉ có một tham số truyền vào, đó là tên của action

Tổng kết

bài này chúng ta đã sơ lược giới thiệu cở bản về actions trong wordpress, cách khởi tạo, cách kích hoạt, xóa bỏ, và kiểm tra sự tồn tại của action, trong các loạt bài tiếp theo thiết kế web bình dương sẽ đi chi tiết sâu hơn các vấn đề về action hook, về loại khác nữa là filter

Giới thiệu cơ bản về Action trong wordpress was last modified: December 8th, 2014 by dat

Comments

comments

Comments are closed.