Tạo một plugin có phụ thuộc


21

Tôi đang cố gắng mở rộng chức năng của một plugin khác. Tôi cần lấy dữ liệu từ nó thành một mảng để sử dụng theo cách khác với plugin ban đầu. (Trong trường hợp này, các plugin Danh mục và Danh mục WPMUDev). Có cái gì trong Codex không? Làm cách nào tôi có thể tạo một plugin có thể sử dụng các hàm bổ trợ khác? Tôi có thể mở rộng chúng và xây dựng các chức năng nút cha? Tôi không chắc chắn nếu các plugin này đang sử dụng các lớp hoặc chỉ các hàm thẳng.

Tôi chỉ cố gắng đưa dữ liệu từ plugin vào tiện ích thanh bên (trong phần tử tùy chọn biểu mẫu), nhưng cuối cùng tôi cũng sẽ sử dụng điều này cho khu vực nội dung bằng cách sử dụng mã ngắn tùy chỉnh. Bây giờ tôi chỉ cần một nơi để bắt đầu.


4
FWIW có một vé theo dõi về chính chủ đề này.trac.wordpress.org/ticket/22316
Norcross

Câu trả lời:


22

Có, có thể tạo một plugin mở rộng một plugin khác. Dưới đây là một vài ý tưởng về cách bạn có thể đi về nó:

  1. Một plugin có thể thiết lập hành động và bộ lọc móc của riêng nó (sử dụng các chức năng do_actionapply_filterchức năng) giống như lõi WordPress. Nếu plugin bạn đang nhắm mục tiêu thực hiện việc này, bạn có thể sử dụng các móc này để thay đổi chức năng.

  2. Nếu một plugin sử dụng cấu trúc hướng đối tượng, bạn có thể mở rộng các lớp và xây dựng trên plugin ban đầu.

  3. Bạn có thể đọc dữ liệu được lưu trữ trong cơ sở dữ liệu bằng plugin gốc và sử dụng nó trong mã plugin của bạn.

  4. Bạn có thể gọi bất kỳ chức năng nào từ plugin ban đầu mà bạn thích, sau khi bạn đã kiểm tra xem plugin có hoạt động và được tải không (xem bên dưới). Chỉ cần lưu ý về bất kỳ hiệu ứng nào mà hàm có thể có bên cạnh giá trị được trả về.

Bạn sẽ cần kiểm tra xem plugin gốc có được kích hoạt hay không. Bạn có thể sử dụng is_plugin_activechức năng; tuy nhiên, điều này chỉ hoạt động trên các trang quản trị. Ngoài ra, bạn có thể sử dụng function_existshoặc class_existskiểm tra xem một chức năng hoặc lớp cụ thể từ plugin ban đầu có sẵn hay không, điều này sẽ cho bạn biết rằng nó đang chạy.

Hãy nhớ rằng bất cứ khi nào plugin gốc được cập nhật, bạn cần kiểm tra plugin của mình với phiên bản mới để tìm kiếm bất kỳ thứ gì mới có thể xung đột với plugin của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.