Các hook được lưu trữ ở đâu trong WordPress?

Nếu bạn đã từng làm việc trên WordPress, chắc hẳn bạn đã bắt gặp từ ‘Hook‘ rất nhiều lần. Nếu bạn là nhà phát triển WordPress muốn xây dựng các plugin và chủ đề, thì các móc nối WordPress rất quan trọng cho sự phát triển của bạn

Nhưng chính xác thì Hooks là gì?

Theo WordPress. org codex, “Các hook được cung cấp bởi WordPress để cho phép plugin của bạn 'kết nối' với phần còn lại của WordPress; . ”

Móc nối nói chung kết nối thứ này với thứ khác. Theo thuật ngữ WordPress, nó móc (kết nối) mã do người dùng xác định với mã hiện có của lõi WordPress

Hãy nói thẳng điều này

WordPress được xây dựng với một số chức năng mặc định. Nó có hành vi và giá trị mặc định được liên kết với nó. Với hook, bạn có thể sửa đổi các hành vi mặc định này và thay thế giá trị hiện có, do đó tùy chỉnh môi trường WordPress theo nhu cầu của bạn

Các loại móc

Có hai loại móc

  1. Móc hành động – Được sử dụng để thực thi tại một số điểm trong quá trình thực thi, thay đổi luồng thực thi mặc định. Đây là danh sách các hook Hành động WordPress
  2. Móc bộ lọc – Hơi khác với Móc hành động, Móc bộ lọc được sử dụng để sửa đổi dữ liệu mặc định của WordPress và thay thế dữ liệu đó bằng giá trị tùy chỉnh, trước khi dữ liệu được hiển thị cho người dùng ở giao diện người dùng hoặc được lưu trữ trong cơ sở dữ liệu. Bạn có thể tìm thấy danh sách Móc bộ lọc trong WordPress Codex

Về cơ bản, bản thân hook là các chức năng được xác định trước. Do đó, hai loại chức năng được liên kết với các hook là

  1. Hàm hành động – Các hàm này hữu ích trong các sự kiện khi blog được đăng, tải trang, v.v.
    Sau đây là một số hàm Hành động.
    • add_action()
    • did_action()
    • doing_action()
    • do_action()
    • do_action_ref_array()
    • has_action()
    • remove_action()
    • remove_all_actions()
  2. Các hàm lọc – Mỗi hàm lọc trả về một số giá trị và thay thế nó bằng dữ liệu mặc định của WordPress.
    Các chức năng lọc bao gồm các chức năng sau.
    • add_filter()
    • áp dụng các bộ lọc()
    • apply_filters_ref_array()
    • current_filter()
    • doing_filter()
    • has_filter()
    • remove_all_filters()
    • remove_filter()

Đồ họa thông tin

Quan sát đồ họa thông tin sau đây để hiểu rõ hơn về cách thức hoạt động của móc

Các hook được lưu trữ ở đâu trong WordPress?
Các hook được lưu trữ ở đâu trong WordPress?
Thông tin đồ họa về cách hoạt động của WordPress Hooks

Như được hiển thị trong đồ họa thông tin ở trên, các hàm Hành động và Bộ lọc sử dụng các móc nối tương ứng để sửa đổi mã lõi của WordPress

Móc trông như thế nào?

Một Action hook điển hình có dạng sau

add_action ( ‘hook’, ‘your_custom_function_name’, [priority], [accepted_parameters] );
function your_custom_function_name()
{
   //Your custom code
}

Trong đó hook là tên của hook, your_custom_function_name là tên của hàm có mã tùy chỉnh của bạn, tham số mức độ ưu tiên tùy chọn cho biết cách thực thi hook, các tham số được chấp nhận cho biết các tham số bổ sung và mã tùy chỉnh. Lệnh gọi hàm (add_action()) có thể ở bên dưới hoặc bên trên đoạn mã

Móc lọc có dạng sau

add_filter( ‘filter’, ‘your_custom_function_name’, ‘priority’, ‘accepted_args’ );
function your_custom_function_name($variable)
{
   //Your custom code
   return;
}

Trong đó add_filter() là một trong các hàm Filter hook, filter là tên của bộ lọc bạn sẽ sử dụng, your_custom_function_name là tên của hàm do người dùng xác định, tham số priority cho biết thứ tự thực hiện của hook, accept_args biểu thị các đối số cho

Giống như WordPress, cũng có các hook dành cho WooC Commerce. Các móc này được sử dụng rộng rãi để phát triển plugin, chủ đề và tùy chỉnh quy trình Thanh toán WooC Commerce.
Đọc Móc WooC Commerce. Các hành động và bộ lọc trong tài liệu WooC Commerce để hiểu chi tiết về các hook WooC Commerce.

trình diễn

Hãy hiểu hook bằng cách sử dụng một số đoạn mã mẫu

Móc hành động và chức năng

//Adding an Action hook
function my_action_hook() { 
   echo "

This is an Action Hook Example

";
} add_action( 'get_header', 'my_action_hook' );

Trong đoạn mã trên, 'my_action_hook' là tên của chức năng tùy chỉnh, 'add_action' là một trong các chức năng Hành động và 'get_header' được sử dụng để tùy chỉnh tiêu đề mẫu. Trong đoạn mã đã cho, chúng tôi đang hiển thị văn bản 'Đây là Bản demo Móc hành động' trong phần tiêu đề của trang web

Ảnh chụp màn hình mẫu hiển thị các thay đổi đoạn mã được áp dụng được hiển thị bên dưới

Các hook được lưu trữ ở đâu trong WordPress?
Các hook được lưu trữ ở đâu trong WordPress?
Ví dụ móc hành động

Móc lọc và chức năng

//Adding a filter hook
add_filter('woocommerce_get_price_html','my_filter_hook');
function my_filter_hook($price){ 
    return 'For just '.$price;
}

Trong đoạn mã trên, ‘woocommerce_get_price_html’ là hook WooC Commerce để lấy giá sản phẩm, ‘my_filter_hook’ là tên của bộ lọc do người dùng xác định và ‘$price’ là biến do người dùng xác định. Đoạn mã chỉ cần thêm tiền tố “For just” vào giá sản phẩm

Ảnh chụp màn hình sau cho thấy đoạn mã ảnh hưởng đến cửa hàng WooC Commerce của chúng tôi như thế nào

Các hook được lưu trữ ở đâu trong WordPress?
Các hook được lưu trữ ở đâu trong WordPress?
Ví dụ móc lọc

Đây chỉ là một ví dụ đơn giản, có rất nhiều thứ bạn có thể đạt được với Hooks

Các hành động và bộ lọc giúp mở rộng chức năng như thế nào?

  1. Ưu điểm chính của việc sử dụng Hooks là nó giúp tùy chỉnh mã WordPress cốt lõi
  2. Bất kỳ thay đổi nào trong quá trình phát triển đều có thể được theo dõi cẩn thận vì việc sửa đổi chỉ ở mức tối thiểu thay vì nhiều lần trong mã
  3. Việc phát triển plugin mới trở nên dễ dàng hơn rất nhiều với phương pháp thử và kiểm tra
  4. Để phát triển chủ đề, người ta có thể tạo chủ đề con và nghịch ngợm với các hook mà không ảnh hưởng đến chủ đề gốc
  5. Nó đơn giản, dễ sử dụng, cung cấp WordPress có cấu trúc dễ hiểu và tài liệu chi tiết để mọi người tham khảo
  6. Hỗ trợ WooC Commerce, plugin Thương mại điện tử WordPress phổ biến nhất. Các plugin định giá WooC Commerce thay đổi rộng rãi giá sản phẩm, tính toán giá và cung cấp giá & giảm giá động bằng cách sử dụng móc WooC Commerce. Chi tiết đơn hàng, thông tin sản phẩm, chi tiết giao hàng giữa các thứ có thể được khai thác bằng móc tùy chỉnh

lời phê bình sau chót

WordPress Hooks là cơ chế chính để phát triển plugin và chủ đề. Chúng được sử dụng rộng rãi để sửa đổi mã WordPress hiện có để tùy chỉnh trang web. Mặc dù móc có một số lợi thế, nhưng người ta phải đảm bảo rằng mỗi móc tùy chỉnh là duy nhất và không trùng lặp với một móc khác cùng tên. Ngay cả trong trường hợp như vậy, bạn có thể chỉ định mức độ ưu tiên cho các hook để thực thi theo nhu cầu của bạn

Hãy xem các bài viết Tùy chỉnh WooC Commerce của chúng tôi để biết các mẹo tùy chỉnh cửa hàng WooC Commerce của bạn

Hoặc tiếp tục khám phá LearnWoo để biết thêm các bài viết tuyệt vời

  • THẺ
  • móc thương mại điện tử
  • móc wordpress

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước Cách cá nhân hóa trải nghiệm khách hàng trên Cửa hàng WooC Commerce của bạn

Bài viết tiếp theo Cách cải thiện Xếp hạng Công cụ Tìm kiếm cho Cửa hàng WooC Commerce của bạn

Azhar

Azhar là Giám đốc Tiếp thị Kỹ thuật số tại LearnWoo. Anh ấy cũng viết về các plugin WordPress và WooC Commerce, để giúp mọi người tìm kiếm giải pháp phù hợp cho doanh nghiệp của họ

Móc trong WordPress là gì?

Hook là một cách để một đoạn mã tương tác/sửa đổi một đoạn mã khác tại các vị trí cụ thể, được xác định trước . Chúng tạo nên nền tảng cho cách các plugin và chủ đề tương tác với WordPress Core, nhưng chúng cũng được chính Core sử dụng rộng rãi. Có hai loại móc. Hành động và Bộ lọc.

Hai loại hook trong WordPress là gì?

Móc có thể được chia thành hai loại. hành động và bộ lọc. Mặc dù các phương pháp sử dụng hai cái này gần như giống nhau, cả hai đều có các chức năng hoàn toàn khác nhau. Móc hành động được sử dụng để tạo chức năng mới, trong khi móc bộ lọc được sử dụng để sửa đổi mã hiện có trong hàm

Sự khác biệt giữa móc và bộ lọc là gì?

Sự khác biệt chính giữa Actions Hook và Filters Hook là Actions Hook luôn thô . Hành động WordPress có nghĩa là Thực thi để phản hồi Sự kiện WordPress và không yêu cầu bất kỳ loại dữ liệu nào bắt buộc. Trong khi Filters Hook vẫn cần dữ liệu.