WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › Import média téléchargeable problème répertoire
Étiqueté : import produits téléchargables
- Ce sujet contient 5 réponses, 3 participants et a été mis à jour pour la dernière fois par Aliiiiiiiiii, le il y a 6 années et 9 mois.
-
AuteurMessages
-
7 avril 2018 à 6 h 56 min #58154
Bonjour à tous,
je suis en train de faire migrer un site sous woocommerce, je passe d’un wordpress 4.8.6 & woocommerce 3.2.1 vers wordpress 4.9.5 & woocommerce 3.3.4 et rencontre un soucis pour la migration des produits téléchargeables
J’ai réussis à migrer tout le site (média inclus) tout est là à sa place sauf les médias « produits téléchargeables » situés à l’origine dans /wp-content/uploads/woocommerce_uploads/année/mois quand j’importe mon xml de média via l’import de wordpress (il n’y a rien dans woocommerce pour faire ça ?) il me recopie l’intégralité des médias dans : /wp-content/uploads/année/mois (il ignore le woocommerce_uploads) mes fichiers sont bien importé mais pas au bon endroit
Dans mon fichier XML le chemin est bon pourtant (mais bon visiblement il ne sert pas de ça pour copier dans la destination – même en modifiant cela ne change rien), je me retrouve donc avec l’intégralité de mes produits téléchargeables pointant vers un lien mort et l’intégralité de mes médias balancés dans le répertoire public des médias wordpress …
j’utilise wp-cli pour faire l’import (mais même via l’interface graphique cela fait pareils)
est ce que quelqu’un à déjà faire cette manipulation ? j’ai manqué quelque chose ?
merci 🙂
====================
7 avril 2018 à 7 h 49 min #581587 avril 2018 à 8 h 15 min #58160Le site d’origine contient énormément de plugin c’était une solution complètement différente là on change tout le principe du site le but était de repartir sur des bases propres (mais oui durant quelques moments de désespoir hier j’ai aussi pensé à la mise à jour), j’ai juste besoin de récupérer les produits & leurs produits téléchargeables liés
Je suis étonnée d’ailleurs de n’avoir trouvé sur google aucune personne ayant tenté cette manipulation et ayant eu des soucis (soit je n’utilise pas la bonne procédure soit personne n’a jamais fais ça et en fait cela ne fonctionne pas et là je vais être embêté parce qu’il ne me reste plus que la solution import à la main … )
====================
7 avril 2018 à 18 h 59 min #58203Salut,
Si je ne me trompe pas woocommerce 3.2.1 proposait déjà l’import/export des produits en fichier CSV, ça fonctionnerait peut-être mieux.
====================Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂
Avant d'appeler à l'aide: Dépannage Woocommerce
Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !
7 avril 2018 à 19 h 29 min #58207J’ai effectivement utilisé l’export/import de woocommerce pour la partie post de type produit et ça fonctionne vraiment très bien (pour les méta et tout) mais ça ne gère pas le téléchargement puis le reupload des médias attachés, ou alors il y a une option caché mais je ne l’ai pas trouvé
Je réexplique au cas ou mon explication n’était pas clair :
– Les médias liés à un post de type produit sont correctement uploader par wordpress et liés à nouveau sur les fiches produits une fois ceux-ci importé via woocommerce tout va bien
– Les fichiers téléchargeables lié à un produit en revanche sont mal uploadé et même si le lien sur la fiche produit est toujours ok forcément cela aboutit à un 404
Ce n’est pas un problème woocommerce en soit il fait son travail c’est clairement l’importer de wordpress qui gère mal le fait que les fichiers ne soit pas dans un répertoire classique je pense
je suis en train d’éplucher le fichier media.php pour comprendre comment wp gère l’import des images et surtout les urls …
====================
8 avril 2018 à 14 h 08 min #58263suite de l’aventure, le problème est lié à l’importer de wordpress effectivement qui se borne à uploader dans un répertoire année/mois par défaut, voilà ma modif sur le plugin wordpress-importer fichier wordpress-importer.php
la solution que je teste pour le moment pas de problèmes à signaler :
2 Modifications à faire :
– fonction process_post() rajout de du test :
« else if ( preg_match( ‘%^(woocommerce_uploads)/ » etc …
// try to use _wp_attached file for upload folder placement to ensure the same location as the export site// e.g. location is 2003/05/image.jpg but the attachment post_date is 2010/09, see media_handle_upload()$postdata[‘upload_date’] = $post[‘post_date’];if ( isset( $post[‘postmeta’] ) ) {foreach( $post[‘postmeta’] as $meta ) {if ( $meta[‘key’] == ‘_wp_attached_file’ ) {if ( preg_match( ‘%^[0-9]{4}/[0-9]{2}%’, $meta[‘value’], $matches ) )$postdata[‘upload_date’] = $matches[0];else if ( preg_match( ‘%^(woocommerce_uploads)/([0-9]{4}/[0-9]{2})%’, $meta[‘value’], $matches ) )$postdata[‘upload_date’] = $matches[2];$postdata[‘upload_path_add’] = $matches[1];break;}}}le but étant que la date de création soit récupérée malgré le fait que la structure répertoire ne corresponde pas à aaaa/mm (parce ça aussi c’était cassé)
– fonction fetch_remote_file() rajout d’un filter pour les médias contenant woocommerce_uploads dans l’url pour modifier le upload path :
function fetch_remote_file( $url, $post ) {// extract the file name and extension from the url$file_name = basename( $url );if ( $post[‘upload_path_add’] == ‘woocommerce_uploads’) {add_filter( ‘pre_option_upload_path’, function( $upload_path ) {$path = « wp-content/uploads/woocommerce_uploads »;return $path;});}la bonne nouvelle : l’upload de média woocommerce & aussi classique fonctionnent
la 2nd bonne nouvelle : vu que wp cli utilise le plugin wordpress importer pour faire les imports ça fonctionne aussi via le cliVoilà si quelqu’un voit une erreur ou une suggestion je suis tout ouïe 🙂
====================
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.