経緯
WordPressでテーマエディタを使ってるとこんなエラーが出る事があると思う。
「致命的なエラーをチェックするためにサイトと通信できないため、PHP の変更は取り消されました。SFTP を使うなど、他の手段で PHP ファイルの変更をアップロードする必要があります。」
エラーは/wp-admin/includes/file.phpで発生していて、プラグインが悪い説や、テーマが悪い説などある。しかしプラグインを全部外しても、テーマを公式にしても解決しない。file.phpのエラーが出ている部分をコメントアウトすると直るという解決法が多いけど、何か違う気がする。httpだとエラーは出ないけど、httpsだとエラーが出る気がするから、ssl証明書が関係してる?
原因
file.phpを読むとwp_remote_get()辺りでエラーが出ているように見える、と思って検索したらそれらしい原因が出てきた。
~/wp-admin/includes/file.php
//これを↓
$r = wp_remote_get( $url, compact( ‘cookies’, ‘headers’, ‘timeout’ ) );
//こうすると直る↓
$r = wp_remote_get( $url, compact( ‘cookies’, ‘headers’, ‘timeout’ ,’sslverify’) );
結果
直った。めでたしめでたし😇