Móc hành động và bộ lọc là một phần cơ bản của các API WordPress khác nhau. Không có chúng, bạn bị hạn chế về những gì bạn có thể làm trong các chủ đề và [đặc biệt] các plugin của mình
Nhưng đôi khi có thể dễ nhầm lẫn giữa hai điều này, đặc biệt là trong trường hợp WordPress có cả hook hành động và hook bộ lọc có cùng tên
Trong bài viết này, tôi sẽ định nghĩa các móc nối hành động và bộ lọc, đồng thời mô tả sự khác biệt giữa chúng và tôi sẽ trình bày cách sử dụng chúng trong các chủ đề và plugin của bạn. Tôi cũng sẽ đưa ra một số ví dụ về thời điểm bạn có thể sử dụng từng
Khi bạn thêm hành động trong WordPress và móc bộ lọc vào mã của mình [hoặc bạn đang kết nối các chức năng với chúng], điều đó giúp hiểu cách các hành động và bộ lọc được gọi bởi WordPress và điều gì sẽ xảy ra theo thứ tự nào. Tôi sẽ không trình bày chi tiết ở đây vì chúng tôi có một hướng dẫn khác thực hiện công việc đó
Định nghĩa và sự khác biệt
Hãy bắt đầu với một số định nghĩa. Tôi cũng sẽ định nghĩa các móc và chức năng của hành động và bộ lọc để bạn có thể thấy sự khác biệt giữa tất cả chúng
Chức năng
Các chức năng là điều đầu tiên mà hầu hết mọi người làm việc khi họ học cách phát triển WordPress; . php, thì bạn sẽ viết một hàm
Các chức năng xác định cách điều gì đó sẽ xảy ra. Bạn viết mã một hàm để truy vấn dữ liệu, xuất nội dung hoặc thực hiện nhiều tác vụ khác. Bạn có thể gọi [thực thi] các chức năng trực tiếp trong các tệp mẫu của chủ đề hoặc bạn có thể nối chúng với móc hành động hoặc bộ lọc. Hàm cũng có thể bao gồm các thẻ mẫu, chẳng hạn như thẻ điều kiện, để chỉ định thời điểm áp dụng hàm
Tôi sẽ chỉ cho bạn các cách khác nhau để thực thi các hàm ở phần sau của bài viết này
móc hành động
Móc hành động [hoặc hành động] được kích hoạt khi điều gì đó diễn ra, chẳng hạn như tải trang, người dùng đăng nhập hoặc hành động tùy chỉnh mà bạn xác định trong chủ đề hoặc plugin của mình
Bạn có thể thêm móc hành động của riêng mình bằng cách sử dụng hàm
if [ ! function_exists[ 'compass_colophon' ] ] {94 mà tôi sẽ trình bày ngay sau đây. Bất kỳ chức năng nào bạn kết nối với hành động đó sẽ chạy tại thời điểm đó trong mã
móc lọc
Móc lọc hoặc bộ lọc, kiểm soát cách điều gì đó xảy ra hoặc thay đổi điều gì đó đã được xuất ra. Bạn có thể sử dụng bộ lọc để xuất siêu dữ liệu ở một định dạng cụ thể, ghi đè đầu ra văn bản bằng plugin của bạn hoặc ngăn nội dung nào đó hiển thị
Bạn thêm các bộ lọc vào mã của mình bằng cách sử dụng hàm
if [ ! function_exists[ 'compass_colophon' ] ] {95 mà tôi sẽ trình bày ngay sau đây. Như từ 'áp dụng' cho biết, bạn áp dụng các bộ lọc cho mã hiện có, trong khi một hành động bạn tạo bằng cách sử dụng
if [ ! function_exists[ 'compass_colophon' ] ] {94 sẽ trống cho đến khi bạn nối các chức năng với nó
Sử dụng Chức năng, Hành động và Bộ lọc
Hãy xem một số ví dụ minh họa cách bạn sử dụng các chức năng, hành động và bộ lọc. Đầu tiên, chúng ta sẽ xem xét việc sử dụng các hàm trực tiếp trong mã của bạn mà không cần gắn chúng vào hook
Gọi hàm trực tiếp
Đây là một ví dụ về hàm được gọi trực tiếp trong tệp mẫu. Trong các trang web khách hàng của tôi, tôi thêm phần viết tắt ở cuối trang, bao gồm thông tin bản quyền. Đây là chức năng
1
if [ ! function_exists[ 'compass_colophon' ] ] {
2
function compass_colophon[] { ?>
3
4
if [ ! function_exists[ 'compass_colophon' ] ] {0
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {0
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {3
if [ ! function_exists[ 'compass_colophon' ] ] {4
if [ ! function_exists[ 'compass_colophon' ] ] {5
if [ ! function_exists[ 'compass_colophon' ] ] {6
if [ ! function_exists[ 'compass_colophon' ] ] {7
if [ ! function_exists[ 'compass_colophon' ] ] {8
if [ ! function_exists[ 'compass_colophon' ] ] {9
20
21
22
23
if [ ! function_exists[ 'compass_colophon' ] ] {5
25
26
27
28_______59
function compass_colophon[] { ?>0
function compass_colophon[] { ?>1
function compass_colophon[] { ?>2
Chức năng này có thể cắm được khi tôi sử dụng nó trong chủ đề gốc; . Lưu ý rằng chức năng này bao gồm một chức năng khác,
if [ ! function_exists[ 'compass_colophon' ] ] {97, gọi nó trực tiếp trong mã
Chức năng này nằm trong tệp
if [ ! function_exists[ 'compass_colophon' ] ] {98 của chủ đề gốc của tôi. Tôi có thể gọi nó trực tiếp trong tệp
if [ ! function_exists[ 'compass_colophon' ] ] {99 của chủ đề của mình, như vậy
1
function compass_colophon[] { ?>4
Điều này xuất mã trong hàm tại điểm trong chủ đề của tôi, nơi tôi gọi nó. Bạn cũng có thể truyền tham số cho các hàm của mình, sau đó các tham số này sẽ được sử dụng bên trong hàm
Như tôi sẽ trình bày ngay sau đây, chức năng này cũng có thể được nối với một hành động hoặc một bộ lọc.
Kết nối chức năng với hành động
Thay vì gọi trực tiếp chức năng colophon đó, tôi sẽ linh hoạt hơn nếu tôi gắn nó vào một cái móc
Tạo móc hành động
Thay vì gọi hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97 trong tệp chân trang của tôi, tôi có thể thêm một hook hành động tại điểm đó trong chân trang. php tập tin, bằng cách thêm này
1
function compass_colophon[] { ?>6
Hàm
if [ ! function_exists[ 'compass_colophon' ] ] {94 có một tham số bắt buộc, đó là tên của hành động. Bạn cũng có thể tùy ý thêm đối số cho nó
Kết nối chức năng với hành động
Vì vậy, bây giờ thay vì gọi chức năng colophon của tôi, tôi cần nối nó với hook hành động mới của mình. Trong chức năng của tôi. php, tôi thêm tệp này vào chức năng của mình
1
function compass_colophon[] { ?>8
Điều này móc chức năng của tôi với hành động
202, có nghĩa là mã bên trong chức năng của tôi sẽ chạy tại điểm trong mã mà hành động đã được đặt. Tham số đầu tiên là tên của hook hành động và tham số thứ hai là tên hàm của tôi
Một lợi thế khi thực hiện theo cách này là bạn có thể kết nối nhiều chức năng với cùng một hành động và bạn có thể đặt mức độ ưu tiên để chúng kích hoạt theo thứ tự bạn muốn.
Vì vậy, giả sử tôi có một chức năng khác mà tôi muốn móc vào móc
202 của mình, được gọi là
204, chứa một số chữ in nhỏ hơn
1
30
2
32
3
34
4
36
if [ ! function_exists[ 'compass_colophon' ] ] {1
function compass_colophon[] { ?>2
if [ ! function_exists[ 'compass_colophon' ] ] {0
0
Bạn có thể thấy ở đây tôi đã thêm tham số thứ ba vào hàm
205 của mình, đây là tham số ưu tiên. Mức độ ưu tiên mặc định là
206, sẽ được áp dụng nếu bạn để trống phần này. Vì vậy, vì tôi chưa đặt mức độ ưu tiên cho hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97 của mình, nên việc đặt 20 cho hàm
204 sẽ khiến hàm đó chạy sau hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97
Unhooking chức năng từ hành động
Đôi khi bạn muốn dừng một chức năng đang chạy. Một cách để làm điều đó là tạo một phiên bản giả của chức năng không làm gì nếu nó có thể cắm được. Nói một cách đơn giản, các chức năng có thể cắm được cho phép bạn ghi đè một số hành vi tùy thuộc vào thứ tự thực thi mã. Bạn cũng có thể muốn tìm hiểu kiến thức cơ bản về các chức năng có thể cắm và cách sử dụng chúng để bắt kịp nếu bạn chưa nghe về chúng
Hiểu các chức năng có thể cắm của WordPress và cách sử dụng của chúng
Rakhitha Nimesh
05 Th03 2013
Một cách khác để đạt được điều này là sử dụng hook hành động. Nếu chức năng đã được móc vào móc hành động, thì bạn có thể thực hiện việc này bằng cách sử dụng chức năng
210. Vì vậy, nếu tôi muốn ngăn hàm
204 của mình chạy, tôi gỡ nó ra khỏi tác vụ
202 như vậy
1
2
Hàm
213 có ba tham số. tên của hook hành động, tên của chức năng và mức độ ưu tiên mà chức năng ban đầu được nối với hành động. Bạn phải bao gồm mức độ ưu tiên để điều này hoạt động
Bạn cũng có thể gỡ bỏ tất cả các chức năng khỏi một hành động nếu bạn muốn ngăn không cho tất cả chúng thực thi. Hãy cẩn thận khi thực hiện việc này, vì có thể có các chức năng mà bạn không biết liên quan đến hành động của mình
Để thực hiện việc này, hãy sử dụng hàm
214
1
4
Việc thêm số ưu tiên làm tham số thứ hai chỉ loại bỏ các chức năng được nối với hook hành động đó với mức độ ưu tiên mà bạn đã chỉ định, giúp bạn có nhiều quyền kiểm soát hơn
Chức năng móc vào bộ lọc
Bạn cũng có tùy chọn móc các chức năng của mình vào các móc lọc. Bạn làm điều này khi bạn muốn thay đổi hoặc ghi đè lên một số mã hiện có. Khi bạn tạo hook bộ lọc [sử dụng hàm
215], bạn bọc mã đó xung quanh mã trong chủ đề hoặc plugin của mình, mã này sau đó sẽ được thay đổi bởi bất kỳ bộ lọc nào được gắn vào hook
Điều này có thể hữu ích nếu bạn có các tùy chọn chủ đề hoặc plugin mà bạn muốn ghi đè cài đặt mặc định hoặc nếu bạn đang tạo một chủ đề gốc có thể có các thành phần bị chủ đề con ghi đè
Tạo móc lọc
Hàm
215 có ba tham số. tên móc bộ lọc, giá trị mà bạn muốn lọc [tức là. giá trị mặc định] và các biến tùy chọn mà sau đó bạn chuyển đến các hàm được nối với bộ lọc
Bạn có thể thêm bộ lọc vào các tệp mẫu chủ đề của mình hoặc bên trong một chức năng được nối thông qua hook hành động. Hãy xem xét cả hai lựa chọn
Quay trở lại chức năng
if [ ! function_exists[ 'compass_colophon' ] ] {97 của tôi, tôi chuyển đổi nó thành một bộ lọc bằng cách thêm nội dung của nó vào chân trang của tôi. php bên trong hàm
215 như vậy
1
6
2_______8
3
if [ ! function_exists[ 'compass_colophon' ] ] {0
4
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {0
46
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {5
if [ ! function_exists[ 'compass_colophon' ] ] {4
if [ ! function_exists[ 'compass_colophon' ] ] {7
if [ ! function_exists[ 'compass_colophon' ] ] {6
if [ ! function_exists[ 'compass_colophon' ] ] {8
20
if [ ! function_exists[ 'compass_colophon' ] ] {9
if [ ! function_exists[ 'compass_colophon' ] ] {05
21
if [ ! function_exists[ 'compass_colophon' ] ] {5
23
26
25
if [ ! function_exists[ 'compass_colophon' ] ] {11
27_______113
Điều này xuất mã mà tôi đã đặt làm tham số thứ hai của hàm
215 của mình
Tuy nhiên, tôi không muốn thêm phần này trực tiếp vào tệp mẫu chủ đề của mình, vì vậy tôi sẽ thêm bộ lọc vào chức năng mà tôi đã đính kèm thông qua hook hành động
Vì vậy, tôi thêm hành động
202 vào chân trang của mình. php bằng cách sử dụng hàm
if [ ! function_exists[ 'compass_colophon' ] ] {94 như minh họa ở trên, sau đó tôi tạo một hàm trong hàm của mình. php được nối với hành động đó và chứa bộ lọc
1
if [ ! function_exists[ 'compass_colophon' ] ] {
2
if [ ! function_exists[ 'compass_colophon' ] ] {17
3
if [ ! function_exists[ 'compass_colophon' ] ] {19
4
if [ ! function_exists[ 'compass_colophon' ] ] {21
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {23
if [ ! function_exists[ 'compass_colophon' ] ] {0
if [ ! function_exists[ 'compass_colophon' ] ] {25
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {27
if [ ! function_exists[ 'compass_colophon' ] ] {4
if [ ! function_exists[ 'compass_colophon' ] ] {29
if [ ! function_exists[ 'compass_colophon' ] ] {6
if [ ! function_exists[ 'compass_colophon' ] ] {01
if [ ! function_exists[ 'compass_colophon' ] ] {8
if [ ! function_exists[ 'compass_colophon' ] ] {03
if [ ! function_exists[ 'compass_colophon' ] ] {9
if [ ! function_exists[ 'compass_colophon' ] ] {05
21
if [ ! function_exists[ 'compass_colophon' ] ] {07
23
if [ ! function_exists[ 'compass_colophon' ] ] {09
25
if [ ! function_exists[ 'compass_colophon' ] ] {01
27
if [ ! function_exists[ 'compass_colophon' ] ] {13
29
if [ ! function_exists[ 'compass_colophon' ] ] {15
function compass_colophon[] { ?>1
if [ ! function_exists[ 'compass_colophon' ] ] {17
if [ ! function_exists[ 'compass_colophon' ] ] {18
if [ ! function_exists[ 'compass_colophon' ] ] {19
if [ ! function_exists[ 'compass_colophon' ] ] {20
if [ ! function_exists[ 'compass_colophon' ] ] {21
Điều này có nghĩa là bây giờ tôi có thể ghi đè nội dung mặc định theo một trong ba cách
- bằng cách tạo một chức năng mới có tên là
if [ ! function_exists[ 'compass_colophon' ] ] {
97 trong chủ đề con của tôi, chức năng này sẽ ghi đè chức năng trong chủ đề gốc của tôi vì có thể cắm được - bằng cách gỡ móc hàm
if [ ! function_exists[ 'compass_colophon' ] ] {
97 khỏi hook hành động2
02 và viết một hàm mới mà tôi đính kèm vào vị trí của nó - bằng cách tạo một hàm mới mà sau đó tôi móc vào hook bộ lọc
2
25, hàm này sẽ ghi đè giá trị trong hàm2
15 của tôi
Trong cuộc sống thực, bạn sẽ không cần phải có nhiều tùy chọn như vậy, vì vậy, nhiều khả năng bạn sẽ áp dụng các bộ lọc cho một phần nội dung trong chức năng của mình hơn là toàn bộ nội dung
Vì vậy, tôi có thể tạo hai bộ lọc, một cho phần bản quyền và một cho phần ghi nhận
1
if [ ! function_exists[ 'compass_colophon' ] ] {
2
if [ ! function_exists[ 'compass_colophon' ] ] {17
3
if [ ! function_exists[ 'compass_colophon' ] ] {27
4
if [ ! function_exists[ 'compass_colophon' ] ] {29
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {31
if [ ! function_exists[ 'compass_colophon' ] ] {0
if [ ! function_exists[ 'compass_colophon' ] ] {33
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {23
if [ ! function_exists[ 'compass_colophon' ] ] {4
if [ ! function_exists[ 'compass_colophon' ] ] {25
if [ ! function_exists[ 'compass_colophon' ] ] {6
if [ ! function_exists[ 'compass_colophon' ] ] {27
if [ ! function_exists[ 'compass_colophon' ] ] {8
if [ ! function_exists[ 'compass_colophon' ] ] {29
if [ ! function_exists[ 'compass_colophon' ] ] {9
if [ ! function_exists[ 'compass_colophon' ] ] {01
21
if [ ! function_exists[ 'compass_colophon' ] ] {45
23
if [ ! function_exists[ 'compass_colophon' ] ] {47
25
if [ ! function_exists[ 'compass_colophon' ] ] {31
27
if [ ! function_exists[ 'compass_colophon' ] ] {51
29
if [ ! function_exists[ 'compass_colophon' ] ] {07
function compass_colophon[] { ?>1
if [ ! function_exists[ 'compass_colophon' ] ] {09
if [ ! function_exists[ 'compass_colophon' ] ] {18
if [ ! function_exists[ 'compass_colophon' ] ] {01
if [ ! function_exists[ 'compass_colophon' ] ] {20
if [ ! function_exists[ 'compass_colophon' ] ] {59
if [ ! function_exists[ 'compass_colophon' ] ] {60
if [ ! function_exists[ 'compass_colophon' ] ] {47
if [ ! function_exists[ 'compass_colophon' ] ] {62
if [ ! function_exists[ 'compass_colophon' ] ] {63
if [ ! function_exists[ 'compass_colophon' ] ] {64
if [ ! function_exists[ 'compass_colophon' ] ] {19
if [ ! function_exists[ 'compass_colophon' ] ] {66
if [ ! function_exists[ 'compass_colophon' ] ] {21
Sau đó, tôi có thể ghi đè lên toàn bộ chức năng compass_colophon của mình bằng cách hủy kết nối nó hoặc viết một chức năng mới trong chủ đề con của mình hoặc tôi có thể tạo một chức năng được nối với hook bộ lọc
227 hoặc
228 để ghi đè từng phần tử riêng lẻ
Chức năng móc vào bộ lọc
Để móc một hàm vào hook bộ lọc, bạn sử dụng hàm
229, hàm này có hai tham số. tên của hook và tên của hàm
Vì vậy, để thay đổi các khoản tín dụng, tôi sẽ viết chức năng này
1
if [ ! function_exists[ 'compass_colophon' ] ] {69
2_______071
3
if [ ! function_exists[ 'compass_colophon' ] ] {73
4
if [ ! function_exists[ 'compass_colophon' ] ] {5
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {77
if [ ! function_exists[ 'compass_colophon' ] ] {0
if [ ! function_exists[ 'compass_colophon' ] ] {79
if [ ! function_exists[ 'compass_colophon' ] ] {2
if [ ! function_exists[ 'compass_colophon' ] ] {81
Điều này sẽ ghi đè giá trị được đặt trong hook bộ lọc
228 ban đầu của tôi bằng nội dung của hàm
231 của tôi, nhưng giữ nguyên mọi thứ khác trong hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97
Bạn cũng có thể chỉ định mức độ ưu tiên khi móc các chức năng vào bộ lọc, theo cách hoàn toàn giống với móc hành động. Các chức năng có mức độ ưu tiên thấp hơn sẽ được chạy trước
Unhooking chức năng từ bộ lọc
Giống như các móc hành động, bạn cũng có thể xóa các chức năng khỏi móc lọc. Bạn thực hiện việc này bằng cách sử dụng hàm
233 có ba tham số. tên móc bộ lọc, tên hàm và mức độ ưu tiên, bắt buộc nếu mức độ ưu tiên được đặt khi hàm được móc vào bộ lọc ban đầu
Vì vậy, để loại bỏ chức năng
231 của tôi, tôi sử dụng chức năng này
1
if [ ! function_exists[ 'compass_colophon' ] ] {83
Sau đó, đầu ra mã sẽ trở lại giá trị mà tôi đã chỉ định trong hàm
215 ban đầu của mình. Vì vậy, nếu tôi muốn xóa hàm
231 và không có gì xuất hiện ở vị trí của nó, tôi phải thêm một hàm mới. Sau đó, tôi mở chức năng đầu tiên và kết nối chức năng mới của mình như vậy
1
if [ ! function_exists[ 'compass_colophon' ] ] {85
2
if [ ! function_exists[ 'compass_colophon' ] ] {87
3
function compass_colophon[] { ?>2
4
if [ ! function_exists[ 'compass_colophon' ] ] {83
if [ ! function_exists[ 'compass_colophon' ] ] {1
if [ ! function_exists[ 'compass_colophon' ] ] {93
Tóm tắt nhanh
Chúng ta hãy xem toàn bộ sự việc để hiểu rõ hơn cách nó khớp với nhau. Mục đích chính của chúng tôi trong hướng dẫn này là xuất nội dung xuống chân trang và thực hiện theo cách giúp người khác dễ dàng sửa đổi nội dung chân trang
Cách đơn giản nhất để thực hiện việc này là gọi trực tiếp hàm bên trong chân trang. tập tin php. Tuy nhiên, điều này lấy đi một số tính linh hoạt liên quan đến việc thực thi chức năng và đầu ra của nó. Một cách để khắc phục hạn chế này là sử dụng hook và đó là điều chúng tôi đã làm tiếp theo
Chúng tôi đã thay thế lệnh gọi hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97 bằng lệnh gọi tới
if [ ! function_exists[ 'compass_colophon' ] ] {94. Hãy nhớ rằng chức năng
if [ ! function_exists[ 'compass_colophon' ] ] {94 đã không thực hiện cuộc gọi đến
if [ ! function_exists[ 'compass_colophon' ] ] {97. Nó chỉ đơn giản là tạo một hook hành động tại vị trí của cuộc gọi
if [ ! function_exists[ 'compass_colophon' ] ] {94. Tên của móc hành động là
202 trong trường hợp của chúng tôi
Chức năng thực tế mà chúng tôi muốn gọi khi hành động
202 được kích hoạt được chỉ định bằng lệnh gọi hàm
205. Nó lấy tên hook của chúng ta làm tham số đầu tiên và hàm gọi lại của chúng ta làm tham số thứ hai. Hàm gọi lại đầu tiên mà chúng tôi đính kèm với hành động
202 là hàm
if [ ! function_exists[ 'compass_colophon' ] ] {97
Chúng tôi cũng có tùy chọn gắn nhiều chức năng gọi lại vào cùng một hook. Đây chính xác là những gì chúng tôi đã làm khi thêm chức năng
204 như một lệnh gọi lại khác cho hook hành động. Thứ tự các hàm được gọi được xác định bởi giá trị của tham số thứ ba được truyền cho
205. Điều này cho phép chúng tôi đảm bảo rằng chức năng
204 được thực thi sau
if [ ! function_exists[ 'compass_colophon' ] ] {97
Một lợi thế của việc sử dụng hook hành động là bạn cũng có thể dừng thực thi bất kỳ chức năng gọi lại được đính kèm nào khi một hành động được kích hoạt bằng cách chuyển tên của nó tới hàm
213
Tại thời điểm này, chúng tôi đã có một hook hành động được kích hoạt ở chân trang và chúng tôi đã gọi các hàm gọi lại khác nhau được gắn vào hook hành động. Về cơ bản, chúng tôi đã thực hiện một số hành động và xuất nội dung mà chúng tôi muốn đặt ở chân trang web. Những người khác cũng có thể mở chức năng của chúng tôi và đính kèm chức năng gọi lại của riêng họ vào hook hành động
Điều gì sẽ xảy ra nếu bạn chỉ muốn thay đổi một phần đầu ra của chân trang mà không ghi đè hoàn toàn hoặc gỡ bỏ chức năng ban đầu?
Chúng tôi tạo móc bộ lọc mới bằng cách sử dụng chức năng
215. Nó chấp nhận hai đối số ở mức tối thiểu. Cái đầu tiên là tên của hook bộ lọc, mà chúng tôi đã đặt thành
227 và
254 trong hai lệnh gọi
215 của chúng tôi. Đối số thứ hai là giá trị mà chúng tôi muốn lọc hoặc sửa đổi. Chúng tôi đặt nó thành mã HTML hiển thị thông tin bản quyền và tín dụng
Sau đó, chúng tôi có thể móc các chức năng của riêng mình vào các bộ lọc này. Chúng tôi làm điều này với sự trợ giúp của hàm
229. Hàm này chấp nhận hai tham số. Tham số đầu tiên là tên của hook bộ lọc và tham số thứ hai là tên của hàm gọi lại mà bạn muốn sử dụng để lọc giá trị
Một điều quan trọng khác cần lưu ý là các giá trị bạn chuyển đến
215 chỉ được lọc nếu có một lệnh gọi lại được đính kèm bằng cách sử dụng hàm
229. Mặt khác, giá trị được truyền dưới dạng tham số thứ hai cho
215 được giữ nguyên
Chúng tôi đã sử dụng tính năng này để thay đổi các khoản tín dụng nhưng giữ nguyên thông tin bản quyền ở chân trang
Các hướng dẫn khác về Wordpress
Bây giờ bạn đã biết cách thêm hành động trong WordPress, có thể bạn muốn mở rộng kỹ năng mã hóa của mình. Sau khi áp dụng bộ lọc WordPress, bạn có thể tìm hiểu các thủ thuật khác theo hướng dẫn của chúng tôi
Cách làm cho email có thể nhấp được trong WordPress
Kingsley Ubah
15 Thg 11 2022
Luồng web so với. WordPress. Bạn nên sử dụng cái nào?
Nitish Kumar
19 Thg 10 2022
Cách lấy ID bài đăng trong WordPress
Monty Shokeen
20 Thg 10 2022
Cách lấy hình ảnh nổi bật trong WordPress
Monty Shokeen
12 Thg 10 2022
Cách khắc phục Widget WordPress không hoạt động hoặc hiển thị sau khi cập nhật
Kingsley Ubah
15 Thg 11 2022
Suy nghĩ cuối cùng
Hiểu được sự khác biệt giữa móc hành động và bộ lọc và có thể sử dụng cả hai một cách hiệu quả sẽ giúp bạn phát triển chủ đề và plugin tốt hơn. Trên thực tế, nếu không sử dụng móc của ít nhất một loại, bạn hoàn toàn không thể viết plugin, vì cách duy nhất mã trong plugin của bạn được kích hoạt là thông qua hành động và móc lọc mà nó được gắn vào
Hướng dẫn này chỉ cho bạn cách thêm chức năng tương tự bằng cách sử dụng một chức năng, hook hành động và một hoặc nhiều hook bộ lọc, cùng với các kỹ thuật xóa chức năng khỏi hook và lời khuyên về thời điểm mỗi kỹ thuật hữu ích hơn
Ngoài việc móc các chức năng vào hành động của riêng bạn và các hook bộ lọc mà bạn tạo, bạn có thể nối chúng với các hành động và bộ lọc do WordPress cung cấp, chẳng hạn như hành động
260 hoặc bộ lọc
261