12/08/2018, 17:23

Action hook và Filter hook trong wordpress (P2)

Filter là gì? Filter là một hàm được viết bằng PHP trong Plugin Gắn Filter vào hệ thống WP thông qua hàm có sẳn add_filter() Filter được viết ra để thực hiện lọc dữ liệu input và output trong hệ thống WP Xác định vị trí (Hook) để gắn Filter đã viết của chúng ta Gắn Filter vào Hook Để ...

Filter là gì?

  • Filter là một hàm được viết bằng PHP trong Plugin
  • Gắn Filter vào hệ thống WP thông qua hàm có sẳn add_filter()
  • Filter được viết ra để thực hiện lọc dữ liệu input và output trong hệ thống WP
  • Xác định vị trí (Hook) để gắn Filter đã viết của chúng ta

Gắn Filter vào Hook

  • Để gắn một Filter vào một vị trí (hook) nào đó chúng ta sẽ sử dụng hàm:
add_filter( $tag, $function, $priority, $accepted_args );
  • Với các tham số:
  1. $$tag - Là tên của một 'filter hook' của WP
  2. $$unction - Tên Filter tương tác vào hệ thống.
  3. $$riority – Độ ưu tiên của Filter.
  4. $$ccepted_args - Số lượng các tham số sẽ được truyền vào hàm của bạn.

Ví dụ hàm thay đổi tiêu đề của một bài viết

add_filter( 'the_title', 'fr_post_title', 10);

function fr_post_title() {
    return 'Title';
}
add_filter('the_title', array($this, 'theTile'));

public function theTile(){ 	
    return 'Title';
}

Loại bỏ Filter khỏi Hook

  • Để loại bỏ một Filter ra khỏi một vị trí (hook) nào đó chúng ta sẽ sử dụng hàm:
remove_filter( $tag, $function, $priority);
  • Tham số
  1. $$tag - Là tên của một 'filter hook' của WP
  2. $$unction - Tên Filter mà bạn muốn loại bỏ khỏi hệ thống.
  3. $$riority – Độ ưu tiên của Filter
remove_filter('the_content', 'convert_smilies');

Loại bỏ tất cả Filter khỏi Hook

  • Để loại bỏ tất cả Filter ra khỏi một vị trí (hook) nào đó chúng ta sẽ sử dụng hàm:
remove_all_filters( $tag, $priority);
  • Tham số
  1. $$tag - Là tên của một 'filter hook' của WP
  2. $$riority – Độ ưu tiên của Filter

Không sử dụng độ ưu tiên

remove_all_filters('the_content');

Sử dụng độ ưu tiên

remove_all_filters('the_content', 10);

Kiểm tra sự tồn tại Filter

  • Kiểm tra sự tồn tại của Filter trong một Hook nào đó:
has_filter($tag, $function_to_check);
  • Tham số
  1. $$tag - Là tên của một 'filter hook' của WP
  2. $$function_to_check - Tên Filter mà bạn muốn kiểm tra.
has_filter('the_content','convert_smilies')

Lấy tên Filter tại một thời điểm

  • Lấy tên của một Filter tại một thời điểm nào đó :
current_filter()

Tra cứu Filter

http://codex.wordpress.org/Plugin_API/Filter_Reference

0