Trông giống như mã được áp dụng là trong wp-includes/update.php
, wp_update_plugins()
:
$to_send = (object) compact('plugins', 'active');
$options = array(
'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3),
'body' => array( 'plugins' => serialize( $to_send ) ),
'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);
$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);
Nó đặc biệt kiểm tra api.wordpress.org. Về mặt kỹ thuật, có thể chuyển một khóa bên trong $to_send
để ủy quyền kiểm tra, nhưng theo hiểu biết của tôi đó không phải là một tính năng được hỗ trợ.
Nếu bạn móc vào, set_site_transient_update_plugins
bạn có thể thêm chi tiết gói của riêng bạn vào biến này. Có vẻ như những giá trị đó sẽ được tin cậy khi bạn chạy trình cập nhật plugin. Xem wp-admin/update.php
và wp-admin/includes/class-wp-upgrader.php
. Với mã trong hai chức năng này, tôi nghĩ rằng có thể tiêm máy chủ cập nhật của riêng bạn, bạn chỉ cần xem cách các chi tiết gói được định dạng và khớp với nó.