web-dev-qa-db-fra.com

Échec de l'importation du média

Lorsque je génère un fichier XML avec [Outils> Exporter] et que j'utilise [Outils> Importer] sur un autre site Web WordPress, le message "Échec de l'importation du support" s'affiche pour chaque type de publication de pièce jointe. Et les images dont le chargement a échoué sont reliées par le lien du serveur précédent, qui utilise le transfert de ce serveur précédent ...

Mais lorsque je télécharge "Test unitaire" à partir de http://codex.wordpress.org/Theme_Unit_Test alors ce problème n'existe pas. Certaines images ont toujours "Impossible d'importer le média" mais ce n'est que 5 images sur 30. Ils ont des URL vers leur propre serveur dans leur XML, mais d'une manière ou d'une autre [Outils> Importer] parvient à télécharger leur média et à remplacer ces URL par de nouveaux emplacements (le lien n'est plus hotlink).

Quelle est l'astuce pour le faire fonctionner correctement sans "Échec de l'importation du support"? Pourquoi même "Test unitaire" contient quelques messages "Impossible d'importer le média"?

12
Paul

J'ai eu un problème très similaire lorsque j'ai déplacé un blog WordPress d'une installation WordPress unique vers une installation multisite avec des noms de domaine différents mais la même adresse IP.
J'ai découvert que le problème est la fonction wp_http_validate_url qui supprime l'URL si l'adresse IP source est identique à l'adresse IP de destination.
Vous pouvez ajouter un filtre wp_http_validate_url pour empêcher cela et permettre l’adéquation des adresses IP source et de destination:

add_filter( 'http_request_Host_is_external', '__return_true' );

Veuillez consulter cette réponse pour une explication détaillée du crochet de filtre et pour savoir pourquoi vous devez le supprimer après l'importation: https://wordpress.stackexchange.com/a/123313/75573

8
Merl

Lorsque vous avez généré votre fichier d'exportation, était-il sur un serveur actif ou un hôte local? Cette page Web est-elle toujours accessible? Si l'importation de média échoue, cela signifie que les images, liées au XML, sont à l'affiche 404.

Ouvrez le fichier XML et voyez où les images pointent. Si nous ouvrons le fichier XML de l'unité thématique, nous verrons des lignes comme celle-ci:

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

Ce fichier est très clairement disponible pour l'importation. Que disent vos fichiers attachment_url?

1
Imperative Ideas

J'ai également eu du mal à importer des médias sur wordpress.org depuis wordpress.com. J'ai réussi à importer tous les articles, mais les images étaient toujours liées à l'ancien site. Je pleurais presque quand j'ai compris que la seule solution était de télécharger et de télécharger manuellement plus de 200 grandes images après publication (l'envoi/importation de plus petites portions de publications ne fonctionnait pas non plus).

Après avoir testé des plugins, j’en ai trouvé un qui importait automatiquement votre média wordpress. Je ne pouvais pas y croire mais ça marche vraiment. Vous devez y aller par la poste, mais c'est quand même mieux que le téléchargement manuel. Voici le lien si quelqu'un est intéressé

1
Claudia

Assurez-vous que votre site n'est pas défini sur "Privé".

Lorsque vous exportez votre blog Wordpress, tout le contenu textuel est incorporé dans le fichier XML résultant. Tout le contenu binaire (images, fichiers joints, etc.) est exporté sous forme d'URL pointant vers leur emplacement sur le blog existant. C'est pourquoi, lorsque vous importez depuis un blog Wordpress privé, vous pourrez toujours importer tous les messages/etc, mais toutes les images/etc échoueront.

Voici où vous devez changer le réglage à partir de la version actuelle (2017-06-19):

 enter image description here 

Documentation Wordpress pertinente:

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

Notez que cela doit être fait à partir des paramètres de votre compte Wordpress.com, et non à partir des paramètres du blog lui-même, ce qui constitue un autre point de confusion potentiel (et de frustration).

1
nathanchere

J'ai eu le même problème et après des heures de recherche et de test, le serveur source bloquait les téléchargements d'images en raison de l'activation de "Hotlink Protection" dans cPanel.

0
AMIB

Pour ceux qui ne veulent pas utiliser add_filter ou qui ne savent pas comment l’intégrer sans créer un module séparé. Voici un truc rapide pour le faire.

Ouvrir ce fichier

vim ./wp-includes/http.php

Allez à la ligne 566 et commentez le bloc de code suivant.

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

Une fois que vous avez commenté ces deux lignes, entrez et ajoutez la ligne suivante.

return true;

Continuez, enregistrez le fichier et téléchargez le fichier XML pour réessayer. Vous allez maintenant télécharger tout le contenu associé. Retournez et supprimez le bloc de commentaires et la déclaration return et vous êtes prêt à partir.

0
Rick

Ce problème peut survenir lors de l'utilisation de certains plug-ins sur le site distant/local.

Idéalement, désactivez tous les plug-in sur les deux sites avant d'exporter ou d'importer, puis réactivez-les une fois le processus terminé.

Si vous essayez d'éviter de désactiver TOUS les plugins, désactivez au moins tous les plugins affectant les images ou la gestion des images ... le type le plus courant serait probablement celui qui optimise les images.

Dans mon cas, l’optimiseur d’images EWWW (que je recommande vivement) était actif sur le site local, ce qui a provoqué cette erreur. Je l'ai désactivé, j'ai lancé l'importation avec succès et l'ai réactivée.

0
James Revillini