Các nhà phát triển WordPress có thể muốn tùy chỉnh trực tiếp trình tạo trang web phổ biến này, nhưng cách tiếp cận đó tạo ra những vấn đề đau đầu về bảo trì liên tục. May mắn thay, có một cách rõ ràng để mở rộng chức năng. thông qua các hook, hành động và bộ lọc của WordPress Show
Qua Tahir Shahzad Tahir là một nhà phát triển web toàn diện với nhiều năm kinh nghiệm về cơ sở dữ liệu và phát triển web, mặt trước và mặt sau. Trong ngăn xếp của Tahir, anh ấy cảm thấy thoải mái và quen thuộc nhất với MySQL, PostgreSQL và Apache Lucene để lưu trữ dữ liệu. Đối với giao diện và trải nghiệm người dùng, Tahir thành thạo PHP (Core, Laravel và WordPress) và JavaScript (jQuery, React). Anh ấy đam mê lĩnh vực của mình và hoan nghênh các dự án mang lại cơ hội phát triển cá nhân và chuyên nghiệp 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ọcWordPress 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ạnNế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 WPHơ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ócBà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
18 phản hồi cho “Tìm hiểu các loại hook trong WordPress”
|