Sự khác biệt giữa hook, action & filter trong WordPress

Lượt xem
Home

Trong phát triển WordPress, filter có thể được sử dụng để thay đổi hoặc mở rộng chức năng của WordPress. Thực hiện điều này bằng cách lấy một số dữ liệu do WordPress cung cấp, thay đổi thành cái khác, sau đó truyền ngược lại. Trong bài viết này, Vietnix sẽ cung cấp rõ hơn về những thông tin liên quan đến filter trong WordPress.

Filter trong WordPress là gì?

Filter là một trong những tính năng lớn giúp WordPress có thể tùy chỉnh dễ dàng. Chúng là các đoạn code PHP được hooked vào một event WordPress. Khi event được kích hoạt, filter sẽ được áp dụng lên dữ liệu đầu ra được tạo ra bởi hook event.

Filter trong WordPress là gì?
Filter trong WordPress là gì?

Chúng được sử dụng rộng rãi bởi các nhà phát triển plugintheme. Tuy nhiên, nếu bạn không phải là một nhà phát triển, thì bạn có thể dán các đoạn code từ web để thêm các tính năng mới vào trang web, nhiều trong số đó bao gồm filter.

Filter sẽ thay đổi hành vi mặc định của một chức năng cụ thể trên trang web WordPress. Làm điều này bằng cách thao tác dữ liệu mà filter nhận được và sau đó trả dữ liệu đó về WordPress trước khi được hiển thị trong trình duyệt.

Ví dụ, filter có thể được sử dụng để cắt ngắn văn bản, thay đổi định dạng nội dung, đính kèm liên kết vào bài viết, chỉnh sửa các block trên một trang và thay đổi các tùy chọn được lấy từ cơ sở dữ liệu. Chúng cũng có thể thay đổi độ dài của đoạn trích, đặt các bài viết liên quan bên dưới nội dung chính, hoặc thay đổi giá trong WooCommerce.

Filter được thêm bằng hàm add_filter(). WordPress có một số hàm cho phép bạn sử dụng các action, nhưng đây là những hàm được sử dụng phổ biến nhất:

  • add_filter(): hàm này gắn kết một hàm vào một hook.
  • remove_filter(): hàm này xóa một hàm được gắn kết vào một hook filter đã chỉ định.
  • doing_filter(): hàm này phát hiện bất kỳ filter nào đang được thực hiện.
  • has_filter(): kiểm tra xem một filter đã được đăng ký chưa.

Filter được sử dụng bởi các nhà phát triển plugin và theme để thêm chức năng phụ vào WordPress. Bạn cũng có thể sử dụng filter để tùy chỉnh theme của mình bằng cách thêm các đoạn code từ hướng dẫn trực tuyến.

Lưu ý: Nếu bạn là người mới bắt đầu, thì Vietnix khuyến nghị không chỉnh sửa bất kỳ file WordPress nào. Chỉ những người dùng có kinh nghiệm, thoải mái với việc chỉnh sửa file functions.php và có kiến thức về PHP mới có thể làm điều này.

Nếu bạn là người mới bắt đầu, nên sử dụng một plugin để thực hiện công việc cần thiết hoặc tìm kiếm một chuyên gia để chỉnh sửa code.Trước khi chỉnh sửa bất kỳ code nào trên trang web WordPress, Vietnix khuyên bạn nên sao lưu trang web của mình trong trường hợp có lỗi mã hóa.

Khi sử dụng dịch vụ WordPress Hosting tại Vietnix, bạn có thể hoàn toàn an tâm bởi hệ thống sao lưu tự động được thực hiện 4 lần mỗi ngày, đảm bảo rằng dữ liệu của bạn luôn được bảo vệ tốt nhất.

Bất kể có sự cố xảy ra như mất dữ liệu, lỗi kỹ thuật hay tình huống không mong muốn, bạn luôn có khả năng khôi phục lại trạng thái gần nhất của trang web một cách dễ dàng. Vietnix luôn có sẵn bản sao lưu trong vòng 7 ngày gần nhất đồng nghĩa với việc bạn có khả năng quay trở lại bất kỳ thời điểm nào trong tuần trước, giúp đảm bảo rằng công trình xây dựng trực tuyến của bạn luôn được bảo vệ và duy trì tốt nhất.

Nếu bạn không có plugin sao lưu, hãy tham khảo bài viết sau để biết thêm thông tin về plugin sao lưu:

Vietnix cũng khuyến nghị bạn không nên thêm code trực tiếp vào các file theme vì có thể bạn sẽ mất các tùy chỉnh của mình vào lần cập nhật theme tiếp theo. Thay vào đó, bạn nên sử dụng một plugin đoạn code để thêm code tùy chỉnh vào WordPress, tạo một plugin cụ thể cho trang web, hoặc tạo một child theme và chỉnh sửa nó thay vì parent theme.

Để hiểu thêm về vấn đề này, bạn có thể tham khảo bài viết sau để biết thêm chi tiết:

Sự khác biệt giữa các hook, action và filter là gì?

Để hiểu rõ hơn về filter trong WordPress, việc hiểu cách chúng liên quan đến hai thuật ngữ hook và action, rất hữu ích. Hiểu ba thuật ngữ này cùng nhau sẽ làm cho thuật ngữ filter dễ nắm bắt hơn.

Hook là nền tảng của phát triển plugin và theme WordPress. Đó là những nơi mà các nhà phát triển có thể “móc” code tùy chỉnh của họ vào WordPress tại các vị trí cụ thể và thay đổi cách hoạt động của WordPress mà không cần chỉnh sửa các file cốt lõi.

Có hai loại hooks:

  • Filter hooks cho phép bạn “thay đổi” vài thứ. Chúng chặn dữ liệu đang được xử lý, cho phép bạn chỉnh sửa nó, sau đó truyền lại. Chúng được sử dụng để lọc đầu ra khi được gửi đến cơ sở dữ liệu hoặc trình duyệt của người dùng.
  • Action hooks cho phép bạn “làm” điều gì đó. Chúng cho phép bạn thêm chức năng phụ và được thực thi khi các event như khi một theme hoặc plugin được kích hoạt, hoặc khi một bài viết được xuất bản. Sau khi hành động đã được thực hiện, chúng không cần trả lại bất kỳ thông tin nào.

Các action hook và filter này là nền tảng của cách hoạt động của WordPress cốt lõi, theme, và plugin. Chúng hoạt động cùng nhau để cho phép các nhà phát triển có độ linh hoạt lớn để chỉnh sửa các event, filter và action mặc định của WordPress.

Các nhà phát triển cũng có thể tạo ra các action và filter tùy chỉnh của riêng họ để các nhà phát triển khác có thể mở rộng plugin hoặc theme của họ.

Ví dụ về filter WordPress

Filter trông như thế nào? Dưới đây là một số ví dụ:

Giả sử chúng ta muốn hiển thị một biểu tượng hình ảnh khi một bài viết thuộc về một danh mục cụ thể được hiển thị. Trong tình huống này, chúng tạo một hàm kiểm tra xem một bài viết có nằm trong danh mục cụ thể đó hay không. Nếu có, thì hiển thị hình ảnh.

Tiếp theo, Vietnix hook hàm đó vào event the_content. Bây giờ bất cứ khi nào event the_content diễn ra, hàm của này sẽ tự động được kích hoạt để lọc đầu ra của event the_content.

// 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;
}

Dưới đây là một ví dụ khác về việc sử dụng filter WordPress. Đoạn code mẫu này thêm một hàm wpb_custom_excerpt vào filter get_the_excerpt:

function wpb_custom_excerpt( $output ) {
  if ( has_excerpt() && ! is_attachment() ) {
    $output .= wpb_continue_reading_link();
  }
  return $output;
}
add_filter( 'get_the_excerpt', 'wpb_custom_excerpt' );

WordPress có nhiều filter được định nghĩa trước cho phép các nhà phát triển thêm code của họ vào các điểm cụ thể trong toàn bộ WordPress core. WordPress Plugin API cung cấp một danh sách rộng lớn các hook filter có sẵn.

Lời kết

Vietnix hy vọng bài viết này đã giúp bạn tìm hiểu thêm về filter trong WordPress. Bạn cũng có thể xem thêm một số bài viết khác như tìm hiểu các khái niệm cơ bản của Webhook hoặc cách vô hiệu hóa PHP trong thư mục WordPress cụ thể để có ý tưởng hữu ích về cho website, chúc bạn thành công!

Chia sẻ lên

Theo dõi trên

Logo Google new

Đánh giá

5/5 - (87 bình chọn)

Hoàng Vui

Kết nối với mình qua

Icon Quote
Icon Quote
Đăng ký nhận tin
Để không bỏ sót bất kỳ tin tức hoặc chương trình khuyến mãi từ Vietnix

Bình luận

Chỉ số tăng trưởng

Điểm Desktop

100 (+39)

Điểm Mobile

100 (+67)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

99 (+28)

Điểm Mobile

100 (+50)

Core Web Vitals

Passed

Lĩnh vực

SEO

Chỉ số tăng trưởng

Điểm Desktop

99 (+26)

Điểm Mobile

98 (+59)

Core Web Vitals

Passed

Lĩnh vực

Ecommerce

Chỉ số tăng trưởng

Điểm Desktop

100 (+8)

Điểm Mobile

98 (+35)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Chỉ số tăng trưởng

Điểm Desktop

100 (+61)

Điểm Mobile

100 (+61)

Core Web Vitals

Passed

Lĩnh vực

Giáo Dục

Võ Thiên Tòng

25 Tháng 2 lúc 21:09

·

Mình muốn gửi lời cảm ơn chân thành đến Team Vietnix, anh Hưng Nguyễn, anh Vietnix Trung, em Quốc Huy đã hỗ trợ tối ưu Page Speed Insight (PSI) cho website vanvoiminhhoa.vn của mình.
Biết đến anh Hưng đã lâu nhưng chưa có duyên sử dụng dịch vụ bên anh. Tình cờ thấy được bài Post của anh về việc hỗ trợ tối ưu PSI miễn phí chỉ với vài Slot, thấy AE cmt khá nhiều nên cũng không nghĩ tới lượt mình. Hôm sau đánh liều inbox 1 phen xem sao thì may mắn được đưa vào danh sách. Vài ngày sau được Team Vietnix liên hệ và hỗ trợ.
Kết quả đạt được:
• Điểm xanh lè xanh lét
• Tốc độ tải trang nhanh hơn hẳn
• Các chỉ số cũng được cải thiện đáng kể
• Và mình tin rằng với việc PSI được cải thiện cũng thúc đẩy những thứ khác đi lên theo!
Mình thực sự hài lòng với dịch vụ của Vietnix và muốn giới thiệu đến tất cả mọi người:
• Dịch vụ Wordpress Hosting: Tốc độ nhanh, ổn định, bảo mật cao, hỗ trợ kỹ thuật 24/7. (https://vietnix.vn/wordpress-hosting/)
• Dịch vụ Business Hosting: Dung lượng lớn, phù hợp cho website có lượng truy cập cao, tích hợp nhiều tính năng cao cấp. (https://vietnix.vn/business-hosting/)
Đặc biệt, Vietnix đang có chương trình ưu đãi:
• Giảm giá 20% trọn đời khi nhập code THIENTONG_PAGESPEED tại trang thanh toán (Chu kỳ 12 tháng trở lên)
• Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website
Cám ơn Vietnix một lần nữa!
#Vietnix #Vanvoiminhhoa #Pagespeedinsight
Trước khi tối ưu
Sau khi tối ưu
Thiện Nguyễn - CEO SEO Dạo

5 Tháng 3 lúc 16:21

·

CORE WEB VITAL YẾU TỐ XẾP HẠNG TÌM KIẾM SEO
Core Web Vitals là một tập hợp các chỉ số đo lường hiệu suất của trang web từ góc độ người dùng, được Google sử dụng để đánh giá trải nghiệm người dùng trên các trang web. Các chỉ số chính bao gồm:
– Largest contentful paint (LCP): Tốc độ render của page. Mục tiêu là dưới 2,5 giây.
– First input delay (FID): Tốc độ phản hồi của website với tương tác của người dùng. Mục tiêu là dưới 100ms.
– Cumulative Layout Shift (CLS): Độ ổn định của bố cục trang. Mục tiêu là dưới 0.1.
Tất cả các chỉ số này đo lường các khía cạnh quan trọng của trải nghiệm người dùng trên trang web. Google đã công bố rằng từ tháng 5 năm 2021, các Core Web Vitals sẽ được sử dụng làm một trong các yếu tố đánh giá trong việc xếp hạng trang web trên kết quả tìm kiếm. Do đó, hiểu và cải thiện các Core Web Vitals là rất quan trọng đối với SEO.
Tóm lại, Core Web Vitals không chỉ giúp cải thiện hiệu suất và xếp hạng trang web trên công cụ tìm kiếm, mà còn cải thiện trải nghiệm của người dùng khi họ truy cập và tương tác với trang website.
P/s: mình đang có gói hỗ trợ đặc biệt cho anh em tối ưu tốc độ bên VIETNIX:
– Giảm 20% lifetime dịch vụ Hosting Business và Hosting Wordpress chu kỳ 12 tháng trở lên.
– Tặng 1 lần tối ưu điểm Page Speed Insight cho 1 website.
Anh em có nhu cầu đăng ký qua bạn Vietnix Trung này nhé và nhập mã SEODAO_PAGESPEED để được ưu đãi nhé.😁
Trước khi tối ưu
Sau khi tối ưu SEO Dạo
Icharm review

5 Tháng 3 lúc 15:43

·

[Mình vừa được hỗ trợ tối ưu page speed website]
Trước khi được tối ưu, web của mình điểm rất thấp, đặc biệt là mobile chỉ có 39. Cơ duyên thế nào lúc lướt face lại va phải chương trình tối ưu pagespeed bên Vietnix.
Sau khi được Trần Hoàng Phúc và team Vietnix hỗ trợ nhiệt tình, điểm web vọt lên 98 99 (như hình bên dưới). Dùng thử web thì thấy quá là mượt, 10 điểm cho team Vietnix.
Nói thật thì mình thật sự ấn tượng về sự nhiệt huyết, tận tâm và rất chuyên nghiệp bên Vietnix.
Anh em có nhu cầu về hosting hay có vấn đề về website như:
1. Web load chậm
2. Khách rời web vì đợi tải nội dung, hình ảnh lâu
3. Hay tất tần tật mọi thứ về website
THÌ LIÊN HỆ NGAY VIETNIX NHÉ!
Và đừng quên dùng pass “ICHARM_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting. Quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
Trước khi tối ưu
Sau khi tối ưu
Hoàng Nguyễn

29 Tháng 2 lúc 17:04

·

Xin chào mọi người! Vừa rồi mình có sử dụng dịch vụ tối ưu website, tăng tốc độ tải trang pagespeed của Vietnix kết quả trên cả tuyệt vời nên mình viết bài này để chia sẻ thông tin với các bạn.
Lý do mình chọn dịch vụ tối ưu tốc độ website của Vietnix:
✅ Đội ngũ chuyên gia giàu kinh nghiệm: Đã tối ưu thành công cho hàng nghìn website trong nhiều lĩnh vực khác nhau. Các bạn nhân viên rất thân thiện, nhiệt tình và chủ động trong quá trình làm việc để cập nhật tiến độ.
✅ Quy trình chuyên nghiệp:
– Kiểm tra và phân tích: Vietnix sử dụng các công cụ tiên tiến để kiểm tra và phân tích tốc độ website của bạn.
– Xác định nguyên nhân: Vietnix xác định nguyên nhân khiến website tải chậm và đưa ra giải pháp tối ưu phù hợp.
– Tối ưu hóa website: Vietnix áp dụng các kỹ thuật tối ưu tiên tiến nhất để tăng tốc độ tải trang.
– Báo cáo kết quả: Vietnix cung cấp báo cáo chi tiết về kết quả tối ưu hóa website.
Công nghệ tiên tiến: Vietnix sử dụng các công nghệ tối ưu mới nhất như LiteSpeed, LSCache, Memcached, Redis, v.v.
✅ Cam kết kết quả: Vietnix cam kết tăng tốc độ website của bạn lên tối thiểu 90%.
✅ Giá cả cạnh tranh: Vietnix cung cấp dịch vụ tối ưu tốc độ website với mức giá cạnh tranh nhất trên thị trường.
📣 Để đăng ký sử dụng dịch vụ tối ưu tốc độ website và các dịch vụ khác như hosting, vps, domain… các bạn có thể đăng ký tại https://portal.vietnix.vn/aff.php?aff=57 hoặc Inbox cho sếp Vietnix Trung nhé.
Các bạn có thể kiểm tra tốc độ trang của mình https://lasan.edu.vn hoặc một vài trang khác đã sử dụng dịch vụ của Vietnix như sau:
https://pagespeed.web.dev/…/https…/v8beqewyt2…
https://pagespeed.web.dev/…/https…/etiohjvtl4…
https://pagespeed.web.dev/…/https…/yczuqpw6d1…
https://pagespeed.web.dev/…/https…/xf9y65kuzk…
https://pagespeed.web.dev/…/https…/fdrsms15en…
https://pagespeed.web.dev/…/https…/s7p9cgzeri…
Trước khi tối ưu
Sau khi tối ưu
Dũng cá xinh

30 Tháng 1 lúc 19:09

·

[Đỉnh]
Em có dùng hosting, vps, cloud vps, cloud server, dedicated server của rất nhiều bên từ trong nước đến nước ngoài để hosting khoảng 2,000+ domain. Mỗi bên đều có ưu nhược khác nhau, nhưng có 1 số bên đặc biệt “bá đạo”, trong đó có: Vietnix!!!!

Lần đầu tiên em được cả CEO Hưng Nguyễn lẫn Master về dev Vietnix Trung của 1 đơn vị hàng đầu liên quan đến Hosting, Server support từ A – Z (từ Zalo, Tele, đến FB và cả Phone)

Em có khá nhiều web dạng Big Data (bài, ảnh, database, data) lên đến hàng trăm Gb. Càng to thì nó càng có nhiều vấn đề về phần phản hồi ban đầu (nhược điểm cố hữu của php wordpress so với nativejs, reactjs, html, headless,…), và anh em Vietnix có nhã ý hỗ trợ xử lý phần Speed Insight này.

Kết quả thực sự kinh ngạc, từ cách trao đổi đến xử lý vấn đề, cut off những cái cần cut off, xử lý rất sâu vấn đề và gợi ý rất nhiều ý tưởng optimize hệ thống!!!! Thực sự quá hài lòng về kết quả cũng như cách tương tác của các đầu tầu bên Vietnix ^^!!!

Nhân cơ duyên được kết nối với những cao thủ của Vietnix, em xin chia sẻ và lan tỏa để nhiều anh em có cơ hội được sử dụng những dịch vụ tốt nhất với giá vô cùng hợp lý!!!!

1 – Với anh em chưa có hosting, em đặc biệt recommend sử dụng hosting bên Vietnix:
– Sử dụng mã DUNGCAXINH_PAGESPEED sẽ được giảm 20% trọn đời (lifetime luôn)
– Áp dụng các gói Hosting Business, Hosting wordpress và reg 1 năm trở lên
– Anh em chưa biết cách reg thì còm men hoặc ib để em hướng dẫn hoặc nhờ các bạn bên Vietnix support từ A – Z

2 – Anh em có hosting rồi và muốn build blog hoặc web = wordpress mà chưa có giao diện thì nhân tiện em đang có tài khoản Premium bên Envato, em sẽ tặng bất kỳ giao diện nào có trên Envato Themes (Link em để dưới còm men) ạ. Cả nhà còm hoặc ib em Themes mà mọi người “chim ưng”, em sẽ cho anh em tải về, up drive và gửi ạ!!! (Chương trình này kéo dài đến ngày 29 tết âm lịch ạ)

3 – BEST NHẤT luôn!!!! Anh em nào mua hosting dùng mã DUNGCAXINH_PAGESPEED sẽ được tối ưu 100 điểm tốc độ cho 1 web (đây là ưu đãi riêng của CEO Hưng Nguyễn dành cho bạn bè của #dungcaxinh ^^) (Giá trị nhất là cái vụ số 3 này anh chị em nhé ^^), cơ hội vàng để move về đơn vị hosting uy tín là đây ^^!!!!

Một lần nữa xin chân thành cám ơn 2 đồng chí em: Hưng Nguyễn và Vietnix Trung đã giải được một bài toán khó cho các trang WP Big data mà anh loay hoay bao lâu nay chưa tìm ra đáp án!!! Chúc Vietnix ngày càng phát triển và có một năm 2024 đại đại thắng nhé ^^ !!!!!
#SEO #Vietnix #dungcaxinh

Trước khi tối ưu
Sau khi tối ưu
Hiếu AI

2 Tháng 2 lúc 21:06

·

UY TÍN – TẬN TÂM – TỐC ĐỘ

3 từ trên là vẫn chưa đủ để nói về quy trình làm việc cực chuyên nghiệp của team Vietnix.Chuyện là mình có con website chính đang có lượt truy cập organic hàng ngày cũng tương đối (hình 1)

Vấn đề là, con site này đang nằm trên hosting dùng chung nên tốc độ load chưa nhanh, tốc độ load chưa nhanh thì trải nghiệm visitor chưa tốt, trải nghiệm visitor chưa tốt thì tỷ lệ chuyển đổi ra đơn hàng kiểu gì thì kiểu cũng sẽ bị ảnh hưởng.

Biết rõ là đang mất tiền nhưng không biết xử lý như lào, nghĩ mà cay.

Đang loay hoay thì vận may nó tới, hôm qua đang lướt phở bò thấy a Nguyễn Việt Dũng đăng bài, rảnh nên thả cái comment hóng hớt, ai ngờ ngoằng phát thấy ông Dũng tạo nhóm với Vietnix Trung luôn.

Ae Vietnix thì siêu tốc độ, lập tức lấy thông tin vào việc, không hỏi han lằng nhằng, không kỳ kèo chốt đơn dù lúc đấy cũng đang đêm muộn.
Sáng hôm sau dậy vẫn còn đang lơ ngơ mở điện thoại check tin nhắn thì đã thấy ae Vietnix báo xong việc, trong khi mình vẫn chưa biết có chuyện gì xảy ra @@.

Được cái bấm thử website thì thấy load siêu nhanh, chưa tới một giây là thông tin các thứ hiện hết. Quá phê, thả con ảnh trước sau (hình 2,3) để ace tiện đối chiếu nhé. Thế này thì mình gửi gắm nốt 15 em website còn lại cho team Vietnix thôi chứ không cần nghĩ ngợi gì nữa. 10/10.

Nên là:

  1. Anh chị em muốn có một con website tốc độ load nhanh như tốc độ trở mặt của nyc – Dùng ngay dịch vụ hosting của Vietnix
  2. Anh chị em có website rồi muốn tìm bên hosting uy tín, chuyên nghiệp hỗ trợ không quản ngày đêm – Liên hệ ngay Vietnix Trung
  3. Anh chị em quan tâm đến trải nghiệm khách hàng, từ những cái nhỏ nhất như tăng tốc độ website – Better call Vietnix Trung

Và đừng quên dùng pass “HIEUAI_PAGESPEED” để được giảm 20% trọn đời hosting business và wp hosting, quả code này còn được tặng 1 lần tối ưu pagespeed nữa nhé, ưu đãi chắc cũng phải nhất nhì thị trường luôn.
#SEO #Vietnix #hieuai

Website
Trước khi tối ưu
Sau khi tối ưu

Chỉ số tăng trưởng

Điểm Desktop

100 (+43)

Điểm Mobile

100 (+74)

Core Web Vitals

Passed

Lĩnh vực

AI