Cách sử dụng add_filter trong WordPress từ A-Z

Khi sử dụng WordPress, hẳn ai cũng muốn website của mình chạy nhanh hơn, tối ưu hóa tốt và đáp ứng tốt yêu cầu của người sử dụng. Vì thế, để tận dụng tối đa tiềm năng của WordPress, bạn cần hiểu rõ những công cụ và tính năng có sẵn của chúng. Trong số đó, phải kể đến add_filter – là một trong những hàm quan trọng mà bạn có thể dùng để tùy chỉnh chức năng website theo ý muốn. Trong bài viết này, Kho Theme sẽ hướng dẫn các bạn cách sử dụng add_filter trong WordPress từ A-Z. Hãy cùng theo dõi bài viết nhé!

Tổng quan về hàm add_filter trong WordPress

Vậy hàm add_filter trong WordPress là gì? Hàm này hoạt động như thế nào? Cú pháp, cách dùng của add_filter ra sao? Hãy cùng tìm hiểu qua nội dung dưới đây:

Hàm add_filter trong WordPress là gì?

Hàm add_filter trong WordPress là một hàm được dùng để đăng ký các filter, cho phép người dùng can thiệp vào quá trình xử lý của WordPressthay đổi giá trị các thành phần trước khi chúng được sử dụng hay hiển thị trên website.

Khi sử dụng hàm add_filter, người dùng có thể đăng ký các callback function và liên kết chúng với những filter cụ thể. Khi filter được kích hoạt, các callback function sẽ được thực thi và tiến hành thay đổi giá trị của các biến, dữ liệu hay kết quả của các hàm trước khi chúng được sử dùng hoặc hiển thị trên website.

Việc sử dụng hàm add_filter, cho phép người dùng tùy chỉnh chức năng của WordPress linh hoạt theo ý muốn cá nhân. Ví dụ, bạn có thể sử dụng hàm add_filter để thay đổi tiêu đề bài viết, điều chỉnh nội dung bài viết trước khi hiển thị, tạo các bộ lọc cho URL,…

Cách sử dụng add_filter trong wordpress

Add_filter hoạt động như thế nào?

Khi sử dụng hàm add_filter, đồng nghĩa với việc người dùng đang thực hiện việc đăng ký một callback function với một filter cụ thể. Điều này cho phép người dùng can thiệp và thay đổi giá trị các thành phần trong quá trình xử lý trước khi chúng được sử dụng và hiển thị trên website.

Quá trình hoạt động của hàm add_filter như sau:

  • Xác định filter: Đầu tiên, chúng ta cần xác định tên filter muốn can thiệp vào. Filter đó có thể là một từ khóa cụ thể hay một hằng số đã được định nghĩa trong mã nguồn của WordPress.
  • Đăng ký callback function: Người dùng sử dụng hàm add_filter để đăng ký một callback function với filter đã xác định trước đó. Hàm add_filter có cú pháp là: add_filter( ‘filter_name’, ‘ten_callback_function’). Trong đó, ‘filter_name’ là tên của filter đó, ‘ten_callback_function’ là tên hàm callback function mà người dùng muốn liên kết với filter đó.
  • Thực thi callback function: Khi filter đã được kích hoạt bằng dùng hàm apply_filters, những hàm callback function đã liên kết với filter cũng sẽ được thực thi. Chúng nhận các tham số đầu vào, thông thường là giá trị ban đầu của một biến và tiến hành thực hiện những thay đổi hoặc xử lý trên giá trị đó.
  • Trả về kết quả: Sau khi những hàm callback function đã thay đổi thì kết quả cuối cùng sẽ được trả về. Thông thường, những hàm callback function sẽ trả về giá trị đã thay đổi.

Xem thêm: Cách sao chép website wordpress chỉ trong 15 phút cực dễ

Cú pháp và cách dùng hàm add_filter

Trước khi sử dụng hàm add_filter trong WordPress, chúng ta cần phải hiểu rõ những tham số cần được truyền vào hàm. Hàm add_filter có cú pháp như sau:

add_filter( $tag, $function_to_add, $priority, $accepted_args );

Trong đó:

  • $tag: Là tên của filter mà người dùng muốn can thiệp vào. Ví dụ, nếu bạn muốn can thiệp vào filter ‘the_title’, bạn sẽ truyền ‘the_title’ vào đây.
  • $function_to_add: Là tên của hàm callback function mà người dùng muốn thực hiện khi filter được kích hoạt. Hàm này sẽ nhận vào giá trị ban đầu của biến hay kết quả và sẽ trả về giá trị mới sau khi đã can thiệp vào.
  • $priority (tùy chọn): Xác định thứ tự ưu tiên của các filter. Các filter có cùng $tag sẽ thực hiện theo thứ tự ưu tiên và tăng dần (giá trị mặc định là 10).
  • $accepted_args (tùy chọn): Xác định số lượng tham số mà $function_to_add có thể nhận vào. Giá trị mặc định là 1.

Ví dụ: Bạn có thể sử dụng add_filter để thay đổi tiêu đề bài viết trước khi hiển thị trên website:

add_filter( 'the_title', 'custom_title_filter' );

function custom_title_filter( $title ) {

// Thay đổi tiêu đề ở đây

return $title;

}

Ở ví dụ trên, chúng ta sử dụng add_filter để can thiệp vào filter ‘the_title’. Cụ thể, bạn đã định nghĩa một hàm ‘custom_title_filter’ và truyền vào hàm add_filter. Hàm ‘custom_title_filter’ nhận vào giá trị ban đầu của tiêu đề và thực hiện bất kỳ thay đổi nào mà chúng ta muốn rồi trả về giá trị mới.

Cách sử dụng add_filter trong WordPress

Dưới đây là những cách sử dụng add_filter trong WordPress mà bạn cần biết:

Thay đổi độ dài đoạn trích của bài viết

add_filter( ‘excerpt_length’, ‘change_length’ );

function change_length( $length )

{

// change the default excerpt length

return 20;

}

Thế là, bạn đã tạo được hàm thay đổi độ dài của đoạn trích bài viết mà đối số $length đại diện. Tiếp theo, bạn hãy nối chức năng này với filter extract_length.

Khi dữ liệu đi vào filter, chức năng sẽ chạy và thay đổi cho phù hợp. Sau đó, phương thức trả về sẽ giới hạn độ dài đoạn trích là 20 và hiển thị cho người dùng website.

Cách sử dụng hàm add_filter trong WordPress

Sửa nội dung bài viết

Một trường hợp phổ biến của add_filter là thêm nội dung mới vào các bài đăng trên website. Ví dụ:

add_filter( ‘the_content’, ‘add_disclaimer’ );

function add_disclaimer( $content )

{

// concatenate the content to modify it

return $content .

“<br><center><strong>All writings and opinions are my own“;

}

Trong ví dụ trên, chúng ta có filter the_content được liên kết với hàm callback function add_disclaimer. Khi filter này được kích hoạt, chức năng này sẽ sửa đổi $content bằng cách nối chúng với thông báo All writings and opinions are my own.

Đoạn code này sẽ trả về nội dung đã sửa đổi cho webiste với tuyên bố từ chối trách nhiệm ở cuối.

Cách dùng add_filter trong WordPress

Hiển thị hình ảnh cho danh mục bài đăng cụ thể

Hàm add_filter trong WordPress cho phép người dùng tùy chỉnh các bài đăng với một ID hay một danh mục cụ thể. Chúng ta hãy cùng tìm hiểu qua ví dụ sau đây:

add_filter( 'the_content', 'content_filter' );

function content_filter( $content )

{

// condition where the function applies

if ( in_category('premium') )

$content = sprintf(

'<img class="premium-icon"

src="%s/directory/filename.png"alt="Premium Content Icon"

title="" />%s', get_bloginfo( 'stylesheet_directory' ),

$content);

return $content;

}

Ở ví dụ này, bạn đã tạo filter the_content và liên kết với hàm callback function wpb_content_filter. Nếu bài đăng của bạn thuộc danh mục cao cấp, chức năng filter sẽ thay đổi nội dung bằng cách thêm hình ảnh vào bài trong bài viết.

Add_filter trong WordPress

Thay đổi số lượng sản phẩm hiển thị

Add_filter trong WordPress cũng cho phép người dùng sửa đổi plugin thương mại điện tử để tùy chỉnh cửa hàng trực tuyến của mình. Dưới đây là đoạn code thay đổi số lượng sản phẩm hiển thị trên plugin WooCommerce:

add_filter('storefront_products_per_page','alter_sf_products_per_page' );

function alter_sf_products_per_page()

{

// change the default value

return 3 ;

}

Ở đoạn code trên, bạn đã tạo custom filter storefront_products_per_page và liên kết với hàm alter_sf_products_per_page. Khi dữ liệu đi qua, filter sẽ gọi hàm để có thể thay đổi giá trị mặc định từ 12 thành 3 và hiển thị trên website.

Cách sử dụng add_filter trong WordPress

Xem thêm: Cách chèn Google Map vào WordPress đơn giản

Các câu hỏi thường gặp về add_filter trong WordPress

Một số câu hỏi thường gặp về add_filter trong WordPress sẽ được giải đáp dưới đây:

Callback function là gì?

Callback function là một hàm trong lập trình, dùng để chuyển đối số cho một hàm khác. Ở trường hợp của Add_filter, callback function đóng vai trò là hàm can thiệp mà bạn đăng ký để thực hiện các thay đổi hoặc mở rộng.

Filter hook là gì?

Filter hook là một điểm nằm trong mã nguồn WordPress, cho phép người dùng can thiệp vào quá trình xử lý bằng cách đăng ký các hàm Callback function thông qua add_filter. Khi filter hook được kích hoạt thì các hàm Callback function liên kết với nó sẽ được gọi và thực thi.

Có cần kiến thức chuyên môn về lập trình mới sử dụng được add_filter trong WordPress không?

Bạn không cần phải có kiến thức chuyên sâu về lập trình để sử dụng hàm add_filter trong WordPress. Tuy nhiên, để áp dụng hàm này một cách hiệu quả nhất, bạn cần có kiến thức cơ bản về lập trình PHP.

Add_filter và apply_filters giống nhau hay không?

Hàm add_filter và apply_filters là hai hàm có mối quan hệ chặt chẽ với nhau và có mục đích tương tự nhau, tuy nhiên chúng vẫn có một số khác biệt như sau:

  • Hàm add_filter được dùng để đăng ký một hàm callback function với một filter hook cụ thể.
  • Hàm apply_filters được dùng để kích hoạt các hàm callback function đã đăng ký với một filter hook cụ thể và truyền dữ liệu qua chúng.

Qua những thông tin chúng tôi chia sẻ ở trên, hy vọng bạn đã biết hàm add_filter trong WordPress là gì và biết cách để sử dụng hàm add_filter để tùy chỉnh chức năng của website. Hãy bắt tay vào thực hành và cho Kho Theme biết bạn có thành công hay không nhé!

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
Tìm công ty
Gọi trực tiếp
Chat Facebook
Chat trên Zalo