Móc trong WordPress cho phép các nhà phát triển dễ dàng liên kết mã của riêng họ với cơ sở mã, chủ đề và plugin cốt lõi của WordPress. Trong bài viết này, chúng ta sẽ khám phá hook là gì, tìm hiểu các loại hook khác nhau và xem xét một số ví dụ về hook hoạt động
Định nghĩa thuật ngữ
Hook là một thuật ngữ chung trong WordPress dùng để chỉ những nơi bạn có thể thêm mã của riêng mình hoặc thay đổi những gì WordPress đang thực hiện hoặc xuất ra theo mặc định. Hai loại móc tồn tại trong WordPress. hành động và bộ lọc
Một Action trong WordPress là một hook được kích hoạt vào thời điểm cụ thể khi WordPress đang chạy và cho phép bạn thực hiện một hành động. Điều này có thể bao gồm những thứ như tạo tiện ích khi WordPress đang khởi chạy hoặc gửi Tweet khi ai đó xuất bản bài đăng
Bộ lọc trong WordPress cho phép bạn lấy và sửa đổi dữ liệu WordPress trước khi nó được gửi đến cơ sở dữ liệu hoặc trình duyệt. Một số ví dụ về bộ lọc sẽ bao gồm tùy chỉnh cách hiển thị đoạn trích hoặc thêm một số mã tùy chỉnh vào cuối bài đăng trên blog
Lúc đầu, có thể hơi khó hiểu để xác định xem thứ gì đó là một hành động hay một bộ lọc. Sự khác biệt quan trọng là khi bạn làm việc với bộ lọc, bạn sẽ nhận được một số dữ liệu và sau đó, khi kết thúc hàm, bạn phải trả lại dữ liệu đó. Mặt khác, với một hành động, bạn không nhận và sửa đổi dữ liệu, bạn chỉ được cung cấp một vị trí trong thời gian chạy WordPress nơi bạn có thể thực thi mã của mình
đọc liên quan. Quy trình làm việc SVG nội tuyến WordPress hoàn hảo
Móc hành động và bộ lọc
WordPress Codex có hai trang quan trọng có thể giúp bạn định hướng bản thân với những hook nào có sẵn trong WordPress
GHI CHÚ. Tại thời điểm viết bài, có một chút chuyển đổi tài liệu về hook từ trang web Codex sang Code Reference. Do đó, bạn có thể tìm thấy các móc được liệt kê trong Codex, nhưng không được ghi lại. Bạn sẽ có thể tìm thấy một số tài liệu về tất cả các hook nếu bạn tìm kiếm chúng trong Code Reference, tuy nhiên, nó không có bất kỳ trang hiện tại nào như Codex nơi tất cả các hook được nhóm vào một nơi
Trang Tham khảo hành động WordPress có sẵn các hành động được liệt kê theo các danh mục sau
Codex cũng có một trang Tham khảo bộ lọc tương tự, trang này liệt kê theo các danh mục sau
Nhiều móc lọc trong số này được tách thành các danh mục con. Cơ sở dữ liệu đọc và cơ sở dữ liệu ghi. Điều này phụ thuộc vào việc bạn đang đọc từ cơ sở dữ liệu trước khi hiển thị trên trang hoặc chỉnh sửa màn hình hay bạn đang viết mã trước khi lưu dữ liệu vào cơ sở dữ liệu
Làm việc với các hook trong WordPress bắt đầu bằng việc tìm ra hook nào bạn cần để gắn mã của mình vào và sau đó viết mã để sửa đổi dữ liệu bạn cần hoặc chạy bất kỳ hành động nào bạn cần
Nếu bạn gặp khó khăn hoặc không chắc nên sử dụng móc nào, bạn thường có thể tìm ra nó bằng cách tìm kiếm thứ gì đó như. “Hành động WordPress cho [bất cứ điều gì bạn muốn nối vào]. ” WordPress StackExchange cũng có một số kết quả với các câu hỏi như thế này
Cách thêm và xóa các chức năng của riêng bạn
Nếu bạn muốn kết nối các chức năng của riêng mình, quá trình này khá đơn giản. Trước tiên bạn cần biết một số thông tin. Đối với các hành động, bạn sẽ muốn biết tên của móc cũng như thời điểm chính xác nó chạy. Đối với các bộ lọc, bạn cũng cần biết tên của móc, nhưng bạn cũng muốn biết giá trị nào bạn sẽ nhận và phải trả lại. Thông tin cuối cùng bạn cần là tên của chức năng nơi bạn có tất cả mã của mình
Làm thế nào để kết nối vào một hành động
add_action[ $hook, $function_to_add, $priority, $accepted_args ];
Các tham số bắt buộc của hàm add_action là hook và hàm add. Mức độ ưu tiên là một giá trị số nguyên tùy chọn dựa trên thang điểm từ 1 đến 999 để xác định mức độ ưu tiên của thứ tự cho các hàm được liên kết với hook cụ thể đó. Ưu tiên cao hơn có nghĩa là nó chạy sau, ưu tiên thấp hơn có nghĩa là sớm hơn. Tham số cuối cùng ít được sử dụng hơn và dùng khi bạn cần chuyển hoặc chấp nhận nhiều đối số
Cách kết nối vào Bộ lọc
add_filter[ $tag, $function_to_add, $priority, $accepted_args ];
add_filter hoạt động giống như add_action. Bạn cũng sẽ phải cẩn thận vì đôi khi hook tồn tại dưới dạng cả hành động và bộ lọc hoặc bộ lọc và chức năng. Bạn sẽ thấy sự khác biệt thực sự với hàm thực tế mà bạn gọi
Hãy nhớ rằng, đối với một bộ lọc, hàm_to_add vừa nhận một giá trị vừa phải trả về giá trị đó khi kết thúc hàm. Mặt khác, các hành động chỉ cần chạy mã chúng cần và không trả về giá trị
Cách Tháo móc khỏi Hành động và Bộ lọc
Để loại bỏ một cái móc là khá đơn giản. Sử dụng chức năng remove_action hoặc remove_filter cùng với tên của hook, chức năng và mức độ ưu tiên. Mức độ ưu tiên là tùy chọn và hữu ích nếu bạn phải mở một chức năng được nối nhiều lần và bạn chỉ muốn xóa một lần xuất hiện cụ thể của chức năng đó
remove_action[ $tag, $function_to_remove, $priority ];
remove_filter[ $tag, $function_to_remove, $priority ];
Bây giờ, chúng ta đã xem xét những kiến thức cơ bản về cách các hàm được nối và không được nối, hãy xem một vài ví dụ thực tế về một số móc khác nhau đang hoạt động
Ví dụ về Móc WP
Hơn 200 hook tồn tại trong WordPress. Dưới đây, bạn sẽ tìm thấy một vài ví dụ về các móc phổ biến được sử dụng
Đăng ký Menu tùy chỉnh trong Quản trị viên
function register_my_custom_menu_page[] { add_menu_page[ 'custom menu title', 'custom menu', 'manage_options', 'myplugin/myplugin-admin.php', '', 'dashicons-admin-site', 6 ]; } add_action[ 'admin_menu', 'register_my_custom_menu_page' ];
Trong ví dụ trên, bạn có thể thấy hàm register_my_custom_menu_page được nối vào móc hành động admin_menu. Điều này cho phép bạn chạy mã khi menu quản trị đang được tạo. Điều này được sử dụng phổ biến nhất để thêm một liên kết menu tùy chỉnh cho plugin hoặc chủ đề
đọc liên quan. Tạo loại bài đăng tùy chỉnh WordPress đầu tiên của bạn
Thay đổi độ dài đoạn trích
function excerpt_length_example[ $words ] { return 15; } add_filter[ 'excerpt_length', 'excerpt_length_example' ];
Trong ví dụ này, chúng tôi đang sử dụng bộ lọc Exciter_length, cung cấp cho chúng tôi một số nguyên xác định độ dài được sử dụng với the_excerpt[]. Nếu không chắc chắn về giá trị nào được chuyển đến bộ lọc, bạn có thể tìm kiếm mã lõi WordPress cho apply_filters[ ‘filter_name’ và tìm hiểu sâu hơn về những gì đang diễn ra với bộ lọc đó
Kết nối với xuất bản bài viết
function publish_post_tweet[$post_ID] { global $post; // Code to send a tweet with post info } add_action['publish_post', 'publish_post_tweet'];
Trong ví dụ giả ở trên, bạn có thể thấy rằng chúng ta đang nối vào một hành động có tên là “publish_post”, hành động này sẽ chạy khi một bài đăng được xuất bản. Bạn có thể sử dụng điều này để làm điều gì đó như gửi một tweet chứa thông tin về bài đăng đã xuất bản
Mã thực tế cho việc này phức tạp hơn mức chúng tôi có đủ chỗ để trình bày, nhưng đây là một ví dụ điển hình về một hành động mà bạn có thể chạy khi một bài đăng được xuất bản
Kết nối với Khởi chạy tiện ích con
function create_my_widget[] { register_sidebar[array[ 'name' => __[ 'My Sidebar', 'mytheme' ], 'id' => 'my_sidebar', 'description' => __[ 'The one and only', 'mytheme' ], ]]; } add_action[ 'widgets_init', 'create_my_widget' ];
Tạo tiện ích là một hành động rất đơn giản và phổ biến để thêm vào chủ đề hoặc plugin. Khi bạn làm như vậy, bạn phải nối vào hành động widget_init. Móc này cho phép bạn chạy mã của mình khi các tiện ích đang được tạo trong WordPress, vì vậy đây là móc hoàn hảo để thêm các tiện ích của riêng bạn cùng một lúc
Kết nối với các kiểu và tập lệnh giao diện người dùng
________số 8Đây là một hook thường được sử dụng và là một hook mà bạn đã học khá sớm trong quá trình phát triển WordPress. Nó cho phép bạn tạo biểu định kiểu URL và tệp JavaScript ở giao diện người dùng của bạn. Đây là phương pháp ưa thích để liên kết với CSS và JS, thay vì mã hóa cứng các liên kết trong tiêu đề chủ đề của bạn
Đào sâu hơn vào móc
Bài viết này đóng vai trò là phần giới thiệu rất cơ bản để làm việc với các hook trong WordPress. Nếu bạn muốn tìm hiểu sâu hơn, tôi khuyên bạn nên xem khóa học của tôi về Móc nối WordPress – Hành động và Bộ lọc, hiện đã có tại Treehouse
Để cải thiện kỹ năng mã hóa của bạn, hãy xem bản dùng thử miễn phí 7 ngày của Treehouse
BẮT ĐẦU NGAY BÂY GIỜ Học với Treehouse chỉ 30 phút mỗi ngày có thể dạy cho bạn những kỹ năng cần thiết để đạt được công việc mà bạn hằng mơ ước
- mã số
- báo chí
18 phản hồi cho “Tìm hiểu các loại hook trong WordPress”
Deon trên nói
Xin chào tất cả mọi người, tôi thực sự rất vui khi được truy cập vào trang
trang web này, nó bao gồm những Thông tin vô giá.đăng nhập để trả lời
Gaurav Kumar cho biết
xin chào, chúng tôi có thể nối trực tiếp trang cài đặt của tôi từ một cài đặt chủ đề khác mà không cần chạm vào bất kỳ mã nào không
đăng nhập để trả lời
Cổng kết hôn trên said
Đọc xong tôi nghĩ nó thực sự khai sáng.
Tôi đánh giá cao việc bạn đã dành thời gian và công sức để tổng hợp
bài viết này. Một lần nữa, tôi thấy mình dành
lượng thời gian đáng kể cho cả việc đọc và để lại nhận xét.Nhưng vậy thì sao, nó vẫn đáng giá
đăng nhập để trả lời
Sushil Adhikari trên nói
Xin chào Zac Gordon,
Cảm ơn bạn cho hướng dẫn tuyệt vời này. Nghi ngờ của tôi về cái móc là
Lợi thế của việc sử dụng hook over xác định hàm với if [. function_exist[] ] trong khi tùy chỉnh chức năng gốc trên chủ đề con. Đây là ví dụ
Mã này trên các hàm cha. mẫu php
nếu [. function_exist[ ‘your_function_name’ ] ].
function your_function_name[] {
//mã ở đây}
endif;Để ghi đè lên chủ đề con, tôi chỉ cần xác định chức năng này và thực hiện các thay đổi
Nhưng trong khi tôi sử dụng hook trên cùng một phiên bản, trước tiên tôi cần xóa hook và viết mã tùy chỉnh của mình
Tôi mong đợi phản hồi của bạn
Cảm ơn
đăng nhập để trả lời
Ruby Rails cho biết
Cảm ơn đã phân loại các bộ lọc WordPress, nó giúp tôi dễ dàng tìm kiếm và học hỏi. Tôi nghĩ sẽ tốt hơn nếu bạn có các ví dụ mã cho từng bộ lọc 😀
đăng nhập để trả lời
Martin trên nói
tài nguyên lớn. Sẽ đào sâu hơn
đăng nhập để trả lời
jahid nói
Bài viết hay, tôi cần cách triển khai hoặc viết hook và các hàm có điều kiện trong plugin soạn sẵn. Tôi đã tải xuống plugin từ plugin soạn sẵn, tôi không biết cách chuyển sang phát triển plugin khi mới bắt đầu phát triển plugin WP bằng cách sử dụng plugin soạn sẵn. tôi cần quy trình từng bước để triển khai mã [móc & chức năng] trong bản tóm tắt plugin theo yêu cầu ví dụ
cám ơn bạn
đăng nhập để trả lời
Cầu Faye trên nói
Chào bạn. Đây sẽ là một câu hỏi hay để hỏi trong Cộng đồng Treehouse, nơi giáo viên và học sinh của chúng tôi luôn sẵn lòng giúp đỡ và chia sẻ phản hồi của họ
đăng nhập để trả lời
Ashley trên nói
Điều này đã được rất hữu ích, cảm ơn. Cả tuần nay tôi đã vắt kiệt các tế bào não của mình để cố gắng tìm ra cách thêm các hành động vào các câu móc hiện có. Tài liệu về chủ đề gốc mà tôi đang viết một chủ đề con khá nghèo nàn, tôi bị sốc vì đây là một nhà phát triển có uy tín. Tôi cũng đã tham gia khóa học WordPress – hooks trên treehouse của bạn. Cuối cùng cũng đến được một nơi nào đó. Vẫn cần thực hành nhiều hơn, ngoài những thứ bạn đã đề cập, bạn có bất kỳ tài nguyên/bài viết nào khác mà bạn muốn giới thiệu không? . Xin hãy giữ họ đến
đăng nhập để trả lời
Cầu Faye trên nói
Chào Ashley. Thật tuyệt khi biết rằng bạn đã được hưởng lợi từ bài đăng và bạn đang học hỏi với chúng tôi. Nếu bạn muốn xem tất cả nội dung WordPress mà chúng tôi có trên blog, hãy tìm kiếm “WordPress” và chúng tôi sẽ lọc các bài đăng cho bạn. Kịp các công việc tuyệt vời. 🙂
đăng nhập để trả lời
luckyali trên nói
Chỉ cần giải thích tuyệt vời, đã giúp rất nhiều
đăng nhập để trả lời
Alaister trên nói
Bài viết hay về Hooks. Đây là lần đầu tiên tôi đọc hooks. Tôi sẽ cố gắng viết plugin đầu tiên
đăng nhập để trả lời
Emma trên nói
Tôi hài lòng vì bạn đã chia sẻ thông tin hữu ích này với chúng tôi. Hãy giữ cho chúng tôi được cập nhật như thế này
đăng nhập để trả lời
Kristi guerrero trên nói
WordPress vẫn tuyệt vời để sử dụng. Hơn 17.00 plugin và kỹ thuật SEO tuyệt vời được sử dụng. Các CMS khác đang chiến đấu tốt với nó. Nhưng không có CMS nào khác có thể dễ dàng sử dụng như WordPress
đăng nhập để trả lời
video sex miễn phí và trò chuyện trên said
Đó thực sự là một mẩu thông tin hay và hữu ích. Tôi hài lòng vì bạn đã chia sẻ thông tin hữu ích này với chúng tôi. Hãy giữ cho chúng tôi được cập nhật như thế này. Cảm ơn bạn đã chia sẻ
đăng nhập để trả lời
Bhumi trên nói
Cảm ơn bạn rất nhiều. Nó giúp rất nhiều
đăng nhập để trả lời
Signmakers Sheffield cho biết
Sử dụng mã Widget tôi nghĩ
đăng nhập để trả lời
Simon Lancancaster cho biết
Điều này đã thực sự hữu ích. Tôi đang cố gắng viết phần bổ trợ cho người tạo bảng hiệu ở sheffield. Đây có thể là chìa khóa
Móc hành động và bộ lọc trong WordPress là gì?
Hook hành động được sử dụng để tạo chức năng mới, trong khi hook bộ lọc được sử dụng để sửa đổi mã hiện có trong chức năng. tệp php . Hơn nữa, có rất nhiều hook mà bạn có thể nhúng vào WordPress. Hãy thử trải nghiệm sử dụng nhiều loại hook để thao tác các chức năng theo ý muốn.Làm thế nào để thêm hành động hoạt động trong WordPress?
Nói một cách đơn giản, add_action[] yêu cầu WordPress thực hiện điều gì đó khi nó đến hook do_action[] được chỉ định . Nhưng chúng tôi chỉ có thể sử dụng add_action[] trong ví dụ trên nếu chúng tôi biết rằng hook hành động 'after_gill_arrives' tồn tại trong chủ đề/plugin của chúng tôi.