web-dev-qa-db-ja.com

メディアをインポートできませんでした

[Tools]> [Export]でXMLファイルを生成し、別のWordPress Webサイトで[Tools]> [Import]を使用すると、添付ファイルの種類ごとに「メディアのインポートに失敗しました」と表示されます。そしてロードに失敗した画像は、その前のサーバーの転送を消費する前のサーバーからホットリンクされています...

しかし、私が http://codex.wordpress.org/Theme_Unit_Test から「単体テスト」をダウンロードするとき、この問題は存在しません。一部の画像にはまだ「メディアのインポートに失敗しました」と表示されていますが、30枚中5枚の画像に過ぎません。彼らは自分たちのXMLへの彼ら自身のサーバーへのURLを持っていますが、どういうわけか[ツール>インポート]は彼らのメディアをダウンロードしそしてこれらのURLを新しい場所で置き換えることをどうにかします。

「メディアのインポートに失敗しました」が表示されずに正しく機能するようにするための秘訣は何ですか? 「単体テスト」でさえ、「メディアのインポートに失敗しました」というメッセージがいくつかあるのはなぜですか。

12
Paul

WordPressブログを単一のWordPressインストールから、異なるドメイン名で同じIPを持つMultisiteインストールに移動したときにも、非常によく似た問題がありました。
問題は、ソースIPが宛先IPと同じ場合にURLをドロップするwp_http_validate_url関数であることがわかりました。
これを防ぐためにフィルタwp_http_validate_urlを追加して、送信元IPと宛先IPを一致させることができます。

add_filter( 'http_request_Host_is_external', '__return_true' );

フィルタフックの詳細な説明とインポート後にそれを削除する必要がある理由については、この回答を参照してください: https://wordpress.stackexchange.com/a/123313/75573

8
Merl

エクスポートファイルを生成したとき、それはライブサーバーまたはローカルホストのどちらにありましたか?そのWebページはまだアクセス可能ですか?メディアのインポートが失敗した場合は、XMLからリンクされた画像が表示されていることを意味します404。

XMLファイルを開き、画像が指している場所を確認します。 Theme Unit XMLファイルを開くと、次のような行が表示されます。

<wp:attachment_url>http://wpthemetestdata.files.wordpress.com/2008/06/canola2.jpg</wp:attachment_url>

そのファイルは明らかにインポート可能です。 attachment_urlファイルの内容は何ですか?

1

私はwordpress.comからwordpress.orgへのメディアのインポートにも苦労しています。私はすべての投稿をインポートすることに成功したが、画像はまだ古いサイトにリンクされていた。唯一の解決策は、投稿ごとに200を超える大きな画像を手動でダウンロードおよびアップロードすることであることに気づいたので、私はほとんど泣いていました(投稿の小さい部分をエクスポート/インポートすることもできません)。

いくつかのプラグインをテストした後、私は実際にあなたのワードプレスメディアを自動的にインポートするものを見つけました。信じられませんでしたが、実際にはうまくいきます。投稿ごとに投稿する必要がありますが、それでも手動でダウンロードしてアップロードするよりはましです。これは リンク だれでも興味があるなら/

1
Claudia

あなたのサイトが「非公開」に設定されていないことを確認してください。

Wordpressブログをエクスポートすると、テキストコンテンツはすべて結果のXMLファイルに埋め込まれます。すべてのバイナリコンテンツ(写真、添付ファイルなど)は、既存のブログ上のそれらの場所を指すURLとしてエクスポートされます。これが、プライベートのWordpressブログからインポートしても、すべての投稿/ etcをインポートできても、すべての画像/ etcが失敗する理由です。

現時点(2017-06-19)の時点で設定を変更する必要があるのはこちらです:

enter image description here 

関連するWordpressのドキュメント:

https://en.support.wordpress.com/settings/privacy-settings/

ブログ自体の設定からではなく、Wordpress.comアカウントの設定から行う必要があることに注意してください。混乱(およびフラストレーション)のもう1つの潜在的なポイントです。

1
nathanchere

私は同じ問題を抱えていて、何時間も検索とテストを行った結果、cPanelで "Hotlink Protection"がアクティブになっているためにソースサーバーが画像のダウンロードをブロックしていました。

0
AMIB

add_filterを使いたくない人や、別のモジュールを作成せずにそれを統合する方法がわからない人のために。これを実現するための簡単で便利なコツがあります。

このファイルを開く

vim ./wp-includes/http.php

566行に移動して、以下のコードブロックをコメントアウトします。

if ( ! apply_filters( 'http_request_Host_is_external', false, $Host, $url ) )
  return false;

この2行をコメントアウトしたら、次の行を追加してください。

return true;

先に進んでファイルを保存し、XMLファイルをアップロードしてやり直してください。これですべての関連コンテンツがダウンロードされます。コメントブロックとreturn文を削除して戻ってきてください。

0
Rick

この問題は、リモートサイトまたはローカルサイトで特定のプラグインを使用している場合に発生する可能性があります。

理想的には、エクスポートまたはインポートする前に両方のサイトのすべてのプラグインを無効にしてから、プロセスが完了した後にそれらを再びアクティブにします。

すべてのプラグインを無効にしないようにするには、少なくとも画像や画像処理に影響するプラグインを無効にします。最も一般的なタイプは、おそらく画像の最適化を行うプラグインです。

私の場合は、ローカルサイトでEWWW Image Optimizer(これを強くお勧めします)をアクティブにしているため、このエラーが発生しました。無効にしてインポートを正常に実行し、再度有効にしました。

0
James Revillini