Móc hành động và bộ lọc trong WordPress
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 Show
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ệtHã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ăngCá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 độngMó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ọcMó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ọcHã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 độngThay 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 độngThay 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 độngVì 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 0Bạ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
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 2Hà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 4Việ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ọcBạ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ọcHà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 62_______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
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ọcGiố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 nhanhChú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ề WordpressBâ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
Suy nghĩ cuối cùngHiể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 Sự khác biệt giữa bộ lọc và hook trong WordPress là gì?Hành động có thể có bất kỳ chức năng nào và Bộ lọc có thể tồn tại để sửa đổi dữ liệu . Các hành động có thể hoặc không thể truyền bất kỳ dữ liệu nào bằng móc hành động của chúng và Bộ lọc được truyền dữ liệu để sửa đổi bằng móc của chúng. Các hành động không trả lại các thay đổi của chúng và Bộ lọc phải trả lại các thay đổi của chúng.
Hai loại hook trong WordPress là gì?Có hai loại móc. Hành động và bộ lọc . Để sử dụng một trong hai, bạn cần viết một chức năng tùy chỉnh được gọi là Gọi lại, sau đó đăng ký nó với một hook WordPress cho một hành động hoặc bộ lọc cụ thể. Các hành động cho phép bạn thêm dữ liệu hoặc thay đổi cách thức hoạt động của WordPress.
Hành động trong WordPress là gì?Trong quá trình phát triển WordPress, một hành động có thể được sử dụng để sửa đổi cách trang web WordPress hoạt động hoặc thêm các tính năng mới . WordPress có nhiều hành động được xác định trước cho phép các nhà phát triển thêm mã của riêng họ tại các điểm cụ thể trong lõi WordPress. Hành động là một trong những tính năng lớn giúp WordPress có thể tùy chỉnh.
Móc hành động là gì?Action Hook là một công cụ rất hữu ích trong WordPress và chúng được sử dụng để thực hiện các chức năng (hành động) ở những vị trí cụ thể của chủ đề hoặc plugin . Nhiều chủ đề và plugin, chẳng hạn như Total, sử dụng hook hành động như một cách dễ dàng để người dùng sửa đổi đầu ra của dự án hoặc thêm mã tùy chỉnh của riêng họ. |