Существует множество причин, по которым проверка SSL может быть неудачной. Начиная со слишком большого количества перенаправлений в неправильные .ini
файлы / настройки или просто пропуская сертификаты или поддоменов. В любом случае вам нужно будет найти причину и устранить ее . Обойти это невозможно .
Но чтобы временно обойти эту проблему (допустим, вам нужно продолжить разработку кода и исправить ошибку SSL позже), вы можете использовать фильтр:
add_filter( 'https_ssl_verify', '__return_false' );
Поскольку вы выполняете это во время удаленного запроса, вы должны заключить его в обратный вызов, присоединенный к фильтру, который срабатывает во время такого HTTP-запроса. Обязательно проверьте, действительно ли вы удаляете подтверждение для правильного случая, и убедитесь, что вы запускаете его только один раз, чтобы не обезопасить другие запросы.
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 );
Если это общедоступный плагин, вы можете присоединить его к простой опции, которую пользователь может включить или отключить. Вы также можете сначала попробовать проверенный запрос, а если нет (и если пользователь выбрал неподписанный запрос), то переключиться на потенциально небезопасный запрос.
Практическое правило:
Никогда не выполняйте небезопасный запрос, пока ваш пользователь не согласится на это и не узнает о рисках.