Import fichier XML/CSV dans le thème Listable
Comment importer facilement toute la géolocalisation et les images de vos listings dans le thème WordPress Listable de Pixelgrade ?
Read the english version of this article
Le thème WordPress Listable de Pixelgrade vous permet de créer un annuaire thématique basé sur un système de géolocalisation très performant. Si vous avez l’intention d’utiliser ce thème pour l’un de vos projets et que vous devez importer un listing d’adresses, l’un des meilleurs plugins pour effectuer cette importation est WP All Import.
Cependant, WP All Import ne permet pas nativement d’importer les images de vos listings et il faut utiliser un complément qui ajoute cette fonctionnalité. Malheureusement, ce complément conçu par l’équipe de WP All Import permet uniquement de renseigner l’adresse complète (location) d’un listing. En conséquence, vous devrez pour chaque listing importé, faire appel à l’API Google Maps Geocoding intégré au thème Listable afin que l’icône du listing soit correctement géolocalisée sur les cartes du thème. Dans sa version gratuite l’API Google Maps Geocoding est limité à 2 500 requêtes par jour ou 50 requêtes par seconde, ce qui risque de perturber ou bloquer l’importation de vos listings.
J’ai donc développé un complément pour WP All Import, qui si vous disposez déjà de la géolocalisation de chaque listing, contourne ce problème et vous permet d’importer simplement et facilement vos listings et les images liées dans le thème Listable.
WP ALL Import add-on pour le thème Listable
Il permet de simplifier l’importation de vos fichiers XML/CSV et de toutes les images liées à chaque listing.
Il est totalement compatible avec le plugin WP Job Manager nécessaire au fonctionnement du thème Listable.
Il permet d’importer la géolocalisation complète de chaque adresse grâce à une section dédiée.
Pour importer vos listes d’adresses et images, vous n’aurez rien à acheter ou installer de plus que la version gratuite de WP All Import.
Installation
- Installer le plugin gratuit WP All Import
- Lire les tutoriels expliquant le fonctionnement de WP All Import
- Télécharger et installer WPAI Listable theme Add-On
Importation de la géolocalisation
Le thème Listable utilise le service Google Maps Geocoding pour localiser les adresses lorsque que vous ajoutez ou modifiez un listing. Les données que vous importez dans les champs de géolocalisation doivent être saisies au standard de cette API. Dans le cas contraire vos cartes seront fausses. Lire la documentation de l’API pour connaître le format à utiliser.
Description des champs
Geolocated | Flag indiquant si l’adresse doit être géolocalisée avec l’API Google Maps Geocoding |
Latitude | Latitude en degré. Ex : 48.871913 |
Longitude | Longitude en degré. Ex : 2.302310 |
Formatted Address | Chaîne contenant une adresse lisible de votre listing. Bien souvent, cette adresse équivaut à l’« adresse postale », laquelle diffère parfois d’un pays à l’autre. Cette adresse est généralement composée d’un ou plusieurs composants d’adresse.
Par exemple :
Afin que les adresses soient reconnues correctement, pensez à bien séparer chaque composant d’adresse avec une virgule. |
Street number | Numéro dans la rue. Ex : 102 |
Street name | Nom de la rue. Ex : Av. des Champs Elysées |
City | Nom de la ville. Ex : Paris |
State short name | Nom court de la région. Ex : IdF |
State long name | Nom long de la région: Ex : Ile de France |
Postcode | Code Postal. Ex : 75008 |
Country short name | Nom court du pays. Ex : FR |
Country long name | Nom long du pays. Ex : France |
Notez que certains pays, tel que le Royaume-Uni, n’autorisent pas la distribution des vraies adresses postales en raison de restrictions de licence.
En principe, utiliser les champs Latitude, Longitude et Formatted Address est suffisant pour afficher des cartes cohérentes.
Importation des images
Le plus simple est de regarder le tutoriel vidéo ci-dessous qui explique le principe d’importation des images avec WP All Import. Le thème est différent mais le principe d’importation est exactement le même.
© 2015 Soflyy
English version
How to import any geolocation and images of your listings in the WordPress Pixelgrade theme listable .
The WordPress Pixelgrade theme Listable allows you to create a thematic directory based on a high performance geolocated system. If you intend to use this theme for your projects and you need to import an address list, the best plugins to make this import is WP All Import.
But WP All Import does not natively import your listings images and you must use a special addon that adds this functionality. Unfortunately, this addon designed by WP All Import team only uses the listing full address field (location). Therefore, you will need for each imported list, to appeal to the Google Maps Geocoding API integrated into the Listable theme so that the icon listing is correctly geolocated on the maps. In the free version, Google Maps Geocoding API is limited to 2500 requests per day or 50 requests per second, which can disrupt or block the import of your listings.
So I developed a addon for WP All Import, that if you already have the geolocation of each listing, bypasses this problem and allows you to simply and easily import your listings and images related to the Listable theme .
WP ALL Import add-on for Listable theme
It simplifies importing your XML / CSV and all the images associated with each listing.
It is fully compatible with WP Job Manager plugin required to operate the listable theme.
It allows to import full geolocation of each address through a dedicated section.
To import your address lists and images, you will have nothing more to buy or install more than the free version of WP All Import.
Installation
- Install the free WP All Import plugin
- Read tutorials explaining how WP All Import
- Download ans install WPAI Listable theme Add-On
Geolocation importing
The Listabe theme uses Google Maps Geocoding service to locate addresses when you add or modify a listing. The data you import in geolocation fields must be entered in this standard API, otherwise your maps will be wrong. Read the API documentation to use this format.
Fields documentation
Geolocated | Flag indicating whether the address should be geotagged with the Google Maps API Geocoding |
Latitude | Latitude in degree. Ex : 48.871913 |
Longitude | Longitude in degree. Ex : 2.302310 |
Formatted Address | String containing a readable address of your listing. Often this address is equivalent to the « postal address, » which sometimes differs from one country to another. This address is generally composed of one or more address components.
For example :
For the addresses to be recognized correctly, remember to separate each address with a comma components. |
Street number | Number in the street. Ex : 102 |
Street name | Name of the street. Ex : Av. des Champs Elysées |
City | Name of the city. Ex : Paris |
State short name | Short region name. Ex : IdF |
State long name | Long region name. Ex : Ile de France |
Postcode | Zipcode or Postal Code. Ex : 75008 |
Country short name | Short country name. Ex : FR |
Country long name | Long country name. Ex : France |
Note that some countries such as the UK, do not allow distribution of true postal addresses due to licensing restrictions.
In principle, use Latitude, Longitude and Formatted Address fields is enough to show consistent maps.
Importing pictures
The easiest is to watch the video tutorial below which explains the principle of importing pictures with WP All Import. The theme is different but the principle of import is exactly the same.
© 2015 Soflyy
Bonjour,
J’ai lu très attentivement à 3 reprises l’article de votre site concernant l’import fichier XML/CSV dans le thème Listable.
J’ai juste une question.
Pour obtenir le fichier XML/CSV de départ au standard de l’API Google Maps Geocoding,
Puis-je exporter mon listing présent sur mon site (j’ai déjà des pages de listes publiées sur mon site) et le réimporter par la suite.
Ou dois-je d’abord créer tout mon listing d’adresse en CSV au standard de l’API Google Maps Geocoding et l’importer ensuite. Cela va-t-il générer automatiquement des pages/listes sans titre ni contenu ?
Vous n’êtes bien sûr pas du tout obligé de me répondre mais une réponse de votre part m’aiderait grandement pour essayer de mettre ça en place et tester votre extension WPAI Listable dans la 3ème partie de la procédure d’importation via WP All Import plugin .
Bien à vous
Bonjour,
Comprenez bien que mon plugin [WP ALL Import add-on for Listable] ne sert qu’à contourner une limitation de l’API Google Maps Geocoding dans sa version gratuite. En fournissant dans votre fichier import les adresses et géolocalisation de vos annonces, vous supprimez l’accès à ce service. Comme le thème Listable utilise le format de cet API, vous devez compenser/reproduire les adresses au format de l’API.
Par exemple, si vous désirez importer une annonce sur le restaurant « LE RABASSIER » de Bruxelles, votre fichier doit contenir non seulement son nom, un contenu, son adresse dans le champ Formatted Address « Rue Duquesnoy 6, Bruxelles 1000, Belgique », mais aussi la latitude, longitude et tous les autres champs d’adresse correctement remplis , sans oublier d’indiquer dans le champ Geolocated la valeur 1.
Concernant les annonces déjà présentes dans votre site, il me semble me souvenir qu’il existe une fonction limitant les doublons dans WP Import. Voir sa doc ou faire un essai avec 1 ou 2 annonces
Espérant avoir répondu au mieux
Je vous remercie votre réponse qui m’a déjà aidé à mieux comprendre le fonctionnement de votre addon.
Le fait de contourner la limitation de l’API Google Maps Geocoding est une idée géniale.
Je suis arrivé à l’étape 4 mais n’ai pas osé continuer plus loin de peur de générer des conflits ou un doublon complet des listes.
Si on suit votre logique, l’idée est donc de partir d’un fichier CSV ou xml dans lequel on retrouve en ligne les infos suivantes pour chaque lieu : titre, contenu, fomatted address, lat, long + Geolocated la valeur 1 via Xpath
Maintenant si je pars d’un fichier export conçu à partir de mes listes déjà encodée, est-il possible d’uniquement mettre à jour ces 5 mêmes informations sans mettre mes pages en péril ?
Process : Encodage des infos pour les lieux(listing) via le CMS de wordpress > export listing xml via wordpress > Fichier xml import via WP ALL Import + à l’étape 3 [WP ALL Import add-on for Listable]
La meilleure marche à suivre serait-elle d’éviter l’encodage des infos pour les lieux(listing) via le CMS de wordpress et de plutôt partir d’un fichier de base (contenant les infos de chaque lieu : titre, contenu, Fomatted address, lat, long + Geolocated la valeur 1 via Xpath ) pour générer toutes les listes ?
Alors,
Je confirme que le contenu du fichier d’import est correct. Mais vous pouvez y mettre ce que vous vous voulez, puisque vous devez joindre chaque champs de votre fichier à un champ de la bdd du thème Listable.
Concernant la gestion des doublons ou de la mise à jour des annonces existantes, lors du processus d’importation dans la dernière étape de l’assistant de WP All Import vous trouverez ceci
Cela vous permet de gérer au mieux les données que vous importez
Quant à la meilleure marche à suivre, tout dépend du nombre d’annonces à publier. Le seul conseil que je peux vous donner, avec de tout importer, validez votre importation avec une dizaine d’annonces représentatives des différents formats de donnée à importer (taxonomies, images, adresses, etc..). Ne pas le faire c’est le casse pipe assuré avec au final un p’tit coucou au plugin WP Reset 😉
Dès lundi matin, je testerai la méthode ci-dessous et vous tiendrez au courant.
> Export de tous mes listings en fichier xml via wordpress
> Import de ce même fichier via WP ALL Import
> drag & drop les valeur suivantes dans les bons champs > titre, contenu, fomatted address, lat, long + Geolocated la valeur 1 via Xpath
> Dernière étape je cocherai « update existing post with changed data in your file »
Par contre il ne devrait y avoir aucune réelle mise à jour car je partirai du fichier export de base sans ajouter d’autres données. On verra ce que ça donnera… Encore merci pour votre dernière réponse.
Voici les résultats,
J’ai donc
> exporté de tous mes listings en fichier xml via wordpress
> Importé ce même fichier dans WP ALL Import en sélectionnant l’option « Existing Items » puisque je pars d' »Items » existants
> « Import to existing « Listings « and update some or all of their data » puisque c’est ça que je veux.
> Step 2 : « 131 items elements will be imported »
> Step 3 :
Drag & Drop Title, Content
Dans le Listable Add-on Drag & Drop Fomatted address, lat, long + Geolocated (checked) la valeur 1 via Xpath
> Step 4 : Juste sélectionné – Update existing posts with changed data in your file & – Update all dataRun
Tout semble bien avoir été importé.
Mes fichiers sont les mêmes qu’avant, ce qui est donc normal.
Si j’enlève ma clé API, la carte géographique n’apparaît plus, ce qui est normal en temps normal mais avec l’importation que je viens d’effectuer, la carte ne devrait elle pas continuer à apparaître ?
Comment puis-je savoir si j’ai réussi à contourner la limitation de l’API Google Maps Geocoding ?
Enlever la clé API revient à dire que vous désirez ne plus utiliser les cartes de GG Maps, il est donc normal qu’elles ne s’affichent plus.
A partir du moment où dans le fichier d’import vous indiquez 1 pour le champ Geolocated, aucun appel n’est effectué à GG.
Listable utilise 2 produits de Google Maps.
– Google Maps JavaScript API pour l’affichage des cartes
– Google Maps Geocoding API pour la recherche des coordonnées GPS des annonces.
Exemple d’appel au service de géolocalisation https://maps.google.com/maps/api/geocode/json?sensor=false&address=Saint-Beauz%C3%A9ly,Aveyron,France
Un tout grand merci pour vos conseils et explications, grâce à vous, je pense bien avoir finalement réussi le processus d’importation 🙂 🙂 🙂
Re-bonjour après 2 ans 🙂
J’ai encore une petite question :
L’extension permet-elle d’une manière ou d’une autre de contourner le nouveau système de pricing de Google Map.
J’avais à l’époque testé votre extension sur 131 adresses, maintenant on a plus de 1000 adresses sur le site (guide-ecoles.be). L’utilisation du site par les visiteurs commence à générer des coûts google map de plus en plus élevés et qui dépassent le crédit gratuit mensuel… Nous sommes une association sans but lucratif donc limitée en terme de financement. Nous avons d’ailleurs introduit une demande auprès de Google pour devenir un partenaire social.
Bonjour,
Ce qui génère un coût important c’est l’affichage des cartes avec l’API GG Maps et non l’utilisation de l’API Geocode de Google. En effet ce dernier vous facture 0.005 USD par appel donc 5$ pour une importation de 1000 écoles
Dans Listable, il est aussi possible d’utiliser l’API MapBox gratuitement jusqu’à un certain point. A voir si cela vaut le coup pour vous. Vous trouverez toutes les infos à ce sujet à https://pixelgrade.com/docs/listable/faq/maps-services-using-need-pay/
Cordialement
Merci pour votre réponse,
Map box est en effet gratuit jusqu’à un certain point mais n’est pas plus avantageux que Google au final, vu le trafic sur notre site. Nous allons probablement chaque mois activer et désactiver l’option MAP sur le site, une fois les crédits gratuits épuisés…