WordPressの「Wordpress インポーター」プラグインを使いコンテンツをインポートする際に、”一部の”メディアのみインポートに失敗する現象が起こりました。
「さくらのレンタルサーバー」で運用中のWordpressサイトからエクスポートする場合でのみ確認した不具合ですが、同様の症状で困った場合には参考にしてみてください。
1.インポートに失敗する条件
以下の場合にメディアのインポートに失敗しているようでした。
- さくらのレンタルサーバーで運用中のWordpressサイトからエクスポート
- ファイルサイズが50KB以下の小さな画像ファイル
検証サイトは上記以外に「 Let’s EncryptによるSSL設定」と「マルチサイト設定」を行っていたのですが、これが失敗する条件に含まれるのかは未検証です。
2.原因
「Wordpressインポーター」プラグインがメディアのインポート時に行っているファイルサイズチェックがエラーを起こしているようでした。
3.対策
「Wordpressインポーター」プラグインのコードを改変します。
「Wordpressインポート」プラグインの「wordpress-importer.php」をエディタで開き、1016行目付近の以下のコードをコメントアウトします。
if ( isset( $headers['content-length'] ) && $filesize != $headers['content-length'] ) {
@unlink( $upload['file'] );
return new WP_Error( 'import_file_error', __('Remote file is incorrect size', 'wordpress-importer') );
}
編集した「wordpress-importer.php」をアップロードし直し、再度インポートを行ってみてください。
4.その他
インポートするコンテンツの量が多すぎたりするとインポートに失敗することはよくあったのですが、特定のメディアファイルが必ずインポートに失敗する現象は初めてでした。
「さくらのVPS」で設置したWordpressサイトでは起こらなかった現象なので、「さくらのレンタルサーバー」固有の不具合ではないかと思っています。
同じ現象で困った場合には試してみてください。
メディアインポート失敗で悩みまくっていたところ、
このサイトを見つけて、ファイルサイズチェックの個所をコメントアウトしたらいけました!!
マジでありがとうございます!!!
超絶神レベルで助かりました!!!
役に立ってよかったです!