Existem vários motivos que podem permitir uma falha na verificação SSL. Começando de muitos redirecionamentos para .ini
arquivos / configurações incorretos ou simplesmente faltando certificados ou subdomínios. De qualquer forma, você precisará pesquisar o motivo e corrigi-lo . Não há maneira de contornar isso.
Mas, para solucionar temporariamente esse problema (digamos que você precise desenvolver mais seu código e corrigir o erro SSL posteriormente), você pode usar um filtro:
add_filter( 'https_ssl_verify', '__return_false' );
Como você está executando isso durante uma solicitação remota, envolva-a em um retorno de chamada anexado a um filtro que é acionado durante uma solicitação HTTP. Verifique se você realmente está removendo a verificação para o caso correto - e execute-o apenas uma vez para não garantir outras solicitações.
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 este for um plug-in distribuído publicamente, convém anexá-lo a uma opção simples que o usuário possa ativar ou desativar. Você também pode tentar a solicitação verificada primeiro e, se não (e se o usuário tiver optado por uma solicitação não assinada), alterne para uma solicitação potencialmente insegura.
Regra prática:
Você não executar uma solicitação não segura até que o usuário tenha concordado em fazê-lo e sabe dos riscos.