Thuật Ngữ: Filter

Filter là gì?

Trong WordPress, filter là những hàm mà có thể được nối với một event ( được gọi là các hook). Trong thời gian thực hiện khi event được kích hoạt thì filter được áp dụng cho các dữ liệu đầu ra được tạo ra bởi các event hook. Điều quan trọng là hãy nhớ rằng các filter thực hiện các hành động của chung trên số liệu mà chúng nhận được và sau đó trả lại dữ liệu đó trước khi nó được hiển thị trong trình duyệt. Các filter luôn luôn phải có dữ liệu đi vào và dữ liệu đi ra để đảm bảo dữ liệu được xuất ra trong trình duyệt (nội dung của bạn có thể được thông qua thông qua các filter khác trước khi nhận được sản phẩm đầu ra trong trình duyệt). Bằng cách so sánh, các action, cái mà tương tự như các filter, không yêu cầu bất cứ điều gì được trả lại, mặc dù dữ liệu có thể được trả lại thông qua các action.

Ví dụ: Hãy nói rằng chúng ta muốn hiển thị một biểu tượng hình ảnh khi một bài thuộc về một category cụ thể. Trong kịch bản này, chúng tôi tạo ra một hàm giúp kiểm tra liệu một bài đăng có nàm trong một category cụ thể hay không, nếu như vậy, thì hiển thị hình ảnh. Tiếp theo, chúng tôi móc hàm đó vào evetn the_content. Bây giờ bất cứ khi nào event the_content diễn ra, hàm của chúng tôi sẽ tự động được kích hoạt để lọc đầu ra.

// First we hook our own function with the_content event
add_filter( 'the_content', 'wpb_content_filter' );
// Now we define what our function would do.
// In this example it displays an image if a post is in news category.
function wpb_content_filter( $content ) {
if ( in_category('news') )
$content = sprintf('<img class="news-icon" src="%s/images/news_icon.png" alt="News icon" title="" />%s', get_bloginfo( 'stylesheet_directory' ), $content);
// Returns the content.
return $content;
}

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *