J'espérais être dirigé dans la bonne direction à cet égard, mon patron souhaite que les heures d'ouverture des magasins sur le site Web soient liées aux heures affichées sur Google Maps/lieux, afin qu'il puisse simplement mettre à jour les heures et les heures sur Google sans avoir à s'inquiéter. sur le site. Je ne suis pas familier avec Google Api, donc je ne sais pas par où commencer.
J'ai essayé d'intégrer Google Maps, mais cela n'inclut pas les heures, mais l'adresse
Le site web est hébergé sur github,
Google ne rend pas cela facile, mais vous pouvez le supprimer avec le code php suivant. Pour commencer, vous avez besoin de "l'identifiant de lieu". Vous pouvez l'obtenir à l'aide de cet outil: https://developers.google.com/places/place-id
Commencez à saisir le nom de l'entreprise et une fois que Google l'a trouvé, vous pouvez copier l'ID de lieu à partir de la fenêtre contextuelle.
Voici le PHP - remplacez ENTER_PLACE_ID_HERE par l'identifiant de lieu que vous avez obtenu à l'étape précédente:
<?
$curlURL = 'https://www.google.com/maps/search/?api=1&query=Google&query_place_id=ENTER_PLACE_ID_HERE';
$curl = curl_init($curlURL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1 );
$response=curl_exec( $curl );
for($i=0;$i<7;$i++){
$day = jddayofweek($i,1);
$start=stripos($response,'[\"'.$day.'\",')+strlen($day)+9;
echo($day.": ".substr($response,$start,stripos($response,'\"]',$start)-$start)."<br />");
}
?>
Si vous disposez d'un identifiant d'emplacement et d'une clé API Google Adresses, l'URL suivante renvoie les heures sous forme d'objet JSON.
Assurez-vous simplement de remplacer "YOUR_PLACE_ID" par votre adresse Google Adresses actuelle et "YOUR_API_KEY" par votre clé d'API Google Adresses.
https://maps.googleapis.com/maps/api/place/details/json?placeid=YOUR_PLACE_ID&fields=opening_hours&key=YOUR_API_KEY
Vous obtiendrez des heures pour chaque jour sous forme de nombre de jours de la semaine, de 0 à 6, où dimanche = 0, ainsi qu'un tableau de langues standard. Les jours numérotés se trouvent dans result.opening_hours.periods
et le tableau de langues standard est result.opening_hours.weekday_text
.
weekday_text
est plus simple à utiliser tandis que periods
vous permettra d’afficher des résultats dans différentes langues.
Voici à quoi cela pourrait ressembler en PHP:
$url = 'https://maps.googleapis.com/maps/api/place/details/json?placeid=YOUR_PLACE_ID&fields=opening_hours&key=YOUR_API_KEY';
$hours_raw = @file_get_contents($url);
if (!empty($hours_raw)) {
$hours_json = json_decode($hours_raw, true);
if (!empty($hours_json['result']['opening_hours'])) {
$business_hours = $hours_json['result']['opening_hours']['weekday_text'];
}
}
// $business_hours is an array you can use however you like e.g.
echo '<ul>';
foreach ($business_hours as $weekday) {
echo '<li>' . $weekday . '</li>';
}
echo '</ul>';