Esistono molte ragioni per cui la verifica SSL non riesce. A partire da troppi reindirizzamenti a .ini
file / configurazioni errati o semplicemente certificati o sottodomini mancanti. In ogni caso, dovrai cercare il motivo e risolverlo . Non c'è modo di aggirarlo.
Ma per risolvere temporaneamente questo problema (supponiamo che sia necessario sviluppare ulteriormente il codice e correggere l'errore SSL in un secondo momento), è possibile utilizzare un filtro:
add_filter( 'https_ssl_verify', '__return_false' );
Mentre lo stai eseguendo durante una richiesta remota, dovresti racchiuderlo in un callback collegato a un filtro che viene attivato durante tale richiesta HTTP. Assicurati di verificare se stai davvero rimuovendo la verifica per il caso corretto e assicurati di eseguirlo solo una volta per non rendere sicure altre richieste.
add_filter( 'http_request_args', function( $params, $url )
{
// find out if this is the request you are targeting and if not: abort
if ( 'foo' !== $params['foo'] )
return $params;
add_filter( 'https_ssl_verify', '__return_false' );
return $params;
}, 10, 2 );
Se si tratta di un plug-in distribuito pubblicamente, è possibile collegarlo a una semplice opzione che l'utente può attivare o disattivare. Puoi anche provare prima la richiesta verificata e, in caso contrario (e se l'utente ha optato per una richiesta non firmata), passa a una richiesta potenzialmente non sicura.
Regola del pollice:
Non eseguire mai una richiesta non sicura fino a quando l'utente non ha accettato di farlo e non è a conoscenza dei rischi.