11 Ottobre 2021
In questo esempio, l’aggiornamento viene bloccato per Akismet e Classic Editor, ma può essere utilizzato con qualsiasi plugin. Non fatelo a meno che non ci sia nessuna alternativa.
/**
* Blocca l'aggiornamento di alcuni plugin
*
* @param array $parsed_args
* @param string $url
*
* @return array
* @throws JsonException
*/
function wporg_block_update_specific_plugins( $parsed_args, $url ) {
$blocked_plugins = [
'akismet/akismet.php',
'classic-editor/classic-editor.php',
];
if ( isset( $parsed_args['body']["plugins"] ) ) {
$plugins = json_decode( $parsed_args['body']["plugins"], true );
if ( isset( $plugins['plugins'] ) ) {
$installed_plugins = $plugins['plugins'];
foreach ( $blocked_plugins as $p ) {
unset( $installed_plugins[ $p ] );
}
$parsed_args['body']['plugins'] = json_encode( [ 'plugins' => $installed_plugins ], JSON_THROW_ON_ERROR );
}
}
return $parsed_args;
}
add_filter( 'http_request_args', 'wporg_block_update_specific_plugins', 5, 2 );