Tôi sẽ khuyến khích chống lại điều này, nhưng tôi hiểu những gì bạn đang cố gắng làm và tự mình làm điều gì đó tương tự.
Làm thế nào tôi làm điều đó
Tôi xây dựng các chủ đề phụ thuộc vào plugin, plugin phụ thuộc vào plugin và plugin phụ thuộc vào plugin phụ thuộc vào plugin khác. Nếu tôi kiểm soát cả hai mặt của sự phát triển, tôi sẽ làm mọi thứ thành hai mảnh ...
Trong plugin sẽ được yêu cầu bởi một cái gì đó khác:
add_filter( 'my-cool-plugin-name-installed', '__return_true' );
Trong plugin / theme sẽ yêu cầu plugin khác :
if ( ! apply_filters( 'my-cool-plugin-name-installed', false ) )
add_action( 'admin_notices', 'my-cool-plugin-name_not_installed' );
Sau đó, tôi thêm một thông báo "Vui lòng cài đặt plugin siêu mát mẻ" của tôi vào đầu màn hình quản trị với một liên kết đến trang tải xuống.
Điều này cho tôi một cách chắc chắn để kiểm tra xem các phụ thuộc của tôi có tồn tại và được cài đặt không. Nếu plugin được cài đặt nhưng không được kích hoạt, cảnh báo vẫn hiển thị.
Cách khác
Một tùy chọn khác đã được đề xuất bởi @tollmanz. Tôi sẽ không sao chép-dán giải pháp của anh ấy, nhưng kiểm tra sự tồn tại của chức năng cốt lõi của plugin phụ thuộc của bạn là một cách tuyệt vời để đảm bảo rằng nó có ở đó.
Một lần nữa, nếu plugin được cài đặt nhưng không hoạt động, tuyến đường này sẽ chỉ phát hiện nếu nó hoạt động.
Tại sao tôi làm mọi thứ theo cách này
Trước hết, tôi không thích các công cụ của người khác tải thêm nội dung vào trang web của mình. Vì vậy, tôi không ép buộc mô hình đó đối với những người dùng khác. Thay vào đó, tôi nhắc họ tải xuống mã bổ sung và chỉ cho họ đi đúng hướng. Một cách sạch hơn sẽ là liên kết với trình cài đặt tự động để họ có thể kéo plugin xuống chỉ bằng một cú nhấp chuột.
Ngoài ra, một số người dùng mã của tôi đang ở trên các máy chủ nơi họ không thể sử dụng trình cài đặt một lần nhấp (hoặc tải xuống tự động). Họ phải bổ sung FTP để cài đặt chúng, vì vậy một hệ thống phụ thuộc tải xuống và kích hoạt im lặng hoàn toàn không hoạt động.
Cuối cùng, nếu bạn đang làm việc với mã của người khác, bạn có 0 quyền kiểm soát khi họ phát hành bản phát hành mới, nếu họ giới thiệu lỗi hoặc nếu họ bị hack . Vì vậy, đừng tự động cài đặt mã mà bạn không thể yêu cầu trách nhiệm.