fix: telefones em formato internacional (+351) nos links tel: e no JSON-LD
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0587be7d14
commit
42f5919915
3 files changed
+15
-4
No files matched your search
@@ -126,3 +126,14 @@ function site_sitemap_urls(PDO $pdo): array {
|
|||||||
}
|
}
|
||||||
return $urls;
|
return $urls;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// E.164 form for tel: links and structured data. Numbers are stored however
|
||||||
|
// the admin typed them ("964 201 137", "+351 231 451 346"); a bare 9-digit
|
||||||
|
// Portuguese number gets +351 so the link also works from a foreign phone.
|
||||||
|
function site_tel(?string $phone): string {
|
||||||
|
$p = preg_replace('/[^\d+]/', '', (string) $phone);
|
||||||
|
if ($p === '') return '';
|
||||||
|
if ($p[0] !== '+' && strlen($p) === 9) return '+351' . $p;
|
||||||
|
if ($p[0] !== '+' && str_starts_with($p, '00')) return '+' . substr($p, 2);
|
||||||
|
return $p;
|
||||||
|
}
|
||||||
@@ -9,7 +9,7 @@ $ld = [
|
|||||||
'image' => base_url('site/assets/img/home.jpg'),
|
'image' => base_url('site/assets/img/home.jpg'),
|
||||||
'logo' => base_url('site/assets/img/logos/logo_black.svg'),
|
'logo' => base_url('site/assets/img/logos/logo_black.svg'),
|
||||||
];
|
];
|
||||||
if (!empty($info['phone'])) $ld['telephone'] = $info['phone'];
|
if (!empty($info['phone'])) $ld['telephone'] = site_tel($info['phone']);
|
||||||
if (!empty($info['email'])) $ld['email'] = $info['email'];
|
if (!empty($info['email'])) $ld['email'] = $info['email'];
|
||||||
if (!empty($info['adress'])) {
|
if (!empty($info['adress'])) {
|
||||||
$ld['address'] = [
|
$ld['address'] = [
|
||||||
|
|||||||
+3
-3
@@ -18,7 +18,7 @@ $reviews = site_reviews(); // null when not configured / nothin
|
|||||||
?>
|
?>
|
||||||
<!-- Mobile sticky CTA bar -->
|
<!-- Mobile sticky CTA bar -->
|
||||||
<div class="mobile-cta-bar">
|
<div class="mobile-cta-bar">
|
||||||
<a href="tel:<?= htmlspecialchars(str_replace(' ', '', $info['phone'] ?? '')) ?>" class="cta-btn cta-btn-call"><i class="fas fa-phone-alt"></i> Ligar</a>
|
<a href="tel:<?= htmlspecialchars(site_tel($info['phone'] ?? '')) ?>" class="cta-btn cta-btn-call"><i class="fas fa-phone-alt"></i> Ligar</a>
|
||||||
<a href="#contactos" class="cta-btn cta-btn-cta smooth-scroll">Inscreve-te Já!</a>
|
<a href="#contactos" class="cta-btn cta-btn-cta smooth-scroll">Inscreve-te Já!</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -587,11 +587,11 @@ $session = session();
|
|||||||
<div class="contact-info text-center text-md-left">
|
<div class="contact-info text-center text-md-left">
|
||||||
<i class="fas fa-phone-volume"></i>
|
<i class="fas fa-phone-volume"></i>
|
||||||
<div class="cf-text">
|
<div class="cf-text">
|
||||||
<a href="tel:<?= htmlspecialchars(str_replace(' ', '', $info['phone'] ?? '')) ?>">
|
<a href="tel:<?= htmlspecialchars(site_tel($info['phone'] ?? '')) ?>">
|
||||||
<p><?= htmlspecialchars($info['phone'] ?? '') ?></p>
|
<p><?= htmlspecialchars($info['phone'] ?? '') ?></p>
|
||||||
</a>
|
</a>
|
||||||
<?php if (($info['telephone'] ?? '') !== ''): ?>
|
<?php if (($info['telephone'] ?? '') !== ''): ?>
|
||||||
<a href="tel:<?= htmlspecialchars(str_replace(' ', '', $info['telephone'])) ?>">
|
<a href="tel:<?= htmlspecialchars(site_tel($info['telephone'])) ?>">
|
||||||
<p><?= htmlspecialchars($info['telephone']) ?></p>
|
<p><?= htmlspecialchars($info['telephone']) ?></p>
|
||||||
</a>
|
</a>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|||||||
Reference in new issue
Block a user