Hay muchas razones que pueden permitir que una verificación SSL falle. Comenzando desde demasiados redireccionamientos a .ini
archivos / configuraciones incorrectas o simplemente faltando certificados o subdominios. En cualquier caso, deberá buscar el motivo y corregirlo . No hay forma de evitarlo.
Pero para solucionar temporalmente ese problema (supongamos que necesita desarrollar su código aún más y corregir el error SSL más adelante), puede usar un filtro:
add_filter( 'https_ssl_verify', '__return_false' );
Mientras ejecuta esto durante una solicitud remota, debe envolverlo en una devolución de llamada adjunta a un filtro que se activa durante dicha solicitud HTTP. Asegúrese de verificar si realmente está eliminando la verificación para el caso correcto , y asegúrese de ejecutar esto solo una vez para no desproteger otras solicitudes.
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 );
Si se trata de un complemento distribuido públicamente, es posible que desee adjuntarlo a una opción simple que el usuario puede activar o desactivar. También puede probar primero la solicitud verificada y, si no (y si el usuario ha optado por una solicitud sin firmar), cambie a una solicitud potencialmente insegura.
Regla de oro:
No Nunca realizar una petición no segura hasta que el usuario ha accedido a hacerlo y sabe de los riesgos.