Kiến Thức Về Wordpress

Giới thiệu về WordPress Action Hook | Thiết kế web WordPres

Nhân. Nguyễn

Đăng

-

Bạn có thể tìm kiếm qua : Google | Cốc Cốc | Bing với chủ đề này của Ad's Consulting Live

action hook wordpress

Nếu bạn đang phát triển của Theme hoặc plugin WordPress nào đó. Bạn sẽ luôn gặp phải nhu cầu tận dụng hệ thống Hook Action WordPress.

Trên thực tế, một trong những rào cản lớn nhất đối với việc sử dụng Theme Framework  hoặc tạo plugin. Họ phụ thuộc rất nhiều vào Action Hook để hoạt động đúng.

Bạn có thể xem qua bài : Toàn tập về Action Hook

Vì vậy chúng ta cần tìm hiểu, WordPress Action Hook là gì?

Action Hook về cơ bản là giữ chỗ. Bất cứ một Action hook được đặt, nó sẽ thực thi đoạn code nào đã được móc nối vào đó.

Bạn có thể bắt gặp một số Action hook mặc định của WordPress có trong hầu hết các theme. Bạn có thể tìm wp_headvà wp_footerchỉ trong theme có sẵn và hầu hết mọi người không nhận ra đây là những action hook . Chúng chỉ đơn giản là các trình giữ chỗ mà các plugin có thể sử dụng để chèn mã vào phần <head>, <footer> của theme. Thông thường, họ sử dụng các action hook này để chèn những thứ như CSShoặc mã Analytics. Họ tạo ra một hàm tạo code, và sau đó móc hook hàm đó thành  wp_head hoặc wp_footer.

Action Hook WordPress dùng cho nhà phát triển chèn code vào các vị trí cụ thể trong Theme WordPress

Tại sao Action Hook WordPress là cần thiết

Giống như bất kỳ phần mềm lớn nào khác, WordPress luôn được cập nhật. Cứ vài tháng một phiên bản mới được phát hành.

Giả sử rằng action hook không tồn tại. Nhưng bạn muốn thay đổi hoặc mở rộng một số chức năng của WordPress. Để làm điều này, bạn phải sửa đổi các tệp WordPress cốt lõi. Và khi bạn cần nâng cấp, bạn sẽ phải thực hiện nâng cấp và mất tất cả các sửa đổi

Nhưng nếu bạn sử dụng các Action Hook WordPress để sửa đổi cách thức hoạt động của WordPress. Bạn có thể nâng cấp khi biết rằng các sửa đổi của bạn nằm trong một tệp riêng biệt. Khi đó bạn chỉ cần ghi đè trong quá trình nâng cấp.

Làm thế nào để Action Hook làm việc?

Trở lại với ví dụ về wp_headvà wp_footer action, chúng ta hãy giả sử rằng bạn muốn chèn một số CSStrong bạn <head> trong phần theme của bạn để bạn có thể ghi đè lên các CSS đã có.

Điều đầu tiên bạn cần làm là tạo một Function Code. Vì các Action Hook chỉ cho phép các hàm được nối hook với chúng.

function insert_some_css() {
	echo <<<CSS
<style type="text/css">
	a {
		color: #08FF00; /* green */
		text-decoration: none;
	}
	a:hover {
		color: #FF0000; /* red */
		text-decoration: underline;
	}
</style>
	CSS;
}

Vì vậy, một khi bạn đã xây dựng được các function của mình, đã đến lúc Function Hook vào wp_head :

add_action ('wp_head', 'insert_some_css');

Bất cứ khi nào wp_head xuất hiện trong Theme của bạn, hãy thực thi Function  insert_some_css .

Bạn có thể xem phần cuối cùng tôi viết như thế này:

add_action('wp_head', 'insert_some_css');
function insert_some_css() {
	echo <<<CSS
<style type="text/css">
	a {
		color: #08FF00; /* green */
		text-decoration: none;
	}
	a:hover {
		color: #FF0000; /* red */
		text-decoration: underline;
	}
</style>
	CSS;
}

Bạn cần làm là tìm một Action Hook mà bạn muốn sử dụng để xuất một số code. Tạo một function action hook đó bằng cách sử dụng add_action giống như ở trên.

Như mọi khi, hãy chắc chắn rằng bất kỳ code PHP cũng cần có thẻ đóng PHP. Nếu không nó sẽ không thực thi.

Tạo Action Hook của riêng bạn

Mặc dù WordPress cung cấp cho bạn rất nhiều Hoock Action. Bạn cũng có thể tự tạo cho Theme hoặc plugin của bạn các Action Hook riêng

Bạn có thể sử dụng đoạn code dưới đây:

<? php do_action ('my_action_hook_name'); ?>

Bạn chỉ cần thay đổi my_action_hook_namethành một tên của bạn

Các nguồn khác trên móc hành động

Tôi viết để lưu trữ và chia sẻ cho bạn đọc những gì tôi học và hiểu được về lập trình và kinh nghiệm của tôi sau những năm tôi đi làm. Vậy nên nhiều bài rất ngắn các bạn đừng trách móc. Xin cảm ơn đã ủng hộ. Kênh Youtube của Nhân Nguyễn

Quảng Cáo
0 0 vote
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments



[]
1 Step 1
Previous
Next

Chủ Đề Nổi Bật

Được Quan Tâm Nhiều Trong Tháng

0
Would love your thoughts, please comment.x
()
x