feat(reviews): ordenar por recentes/completas, só com foto, cartão com foto grande
A Places API (New) não tem parâmetro de ordenação e devolve no máximo 5 reviews, por isso ordem e filtro aplicam-se a essas 5: relevância (ordem da Google), mais recentes (publishTime) ou mais completas (texto mais longo), e opcionalmente só quem tem foto de perfil. Mudar estas opções já não apaga a cache — só uma nova chave ou Place ID obriga a um novo pedido pago. Cartão: foto de 84px (ou inicial), nome, data e estrelas grandes em cima; texto mais pequeno por baixo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
f95c9ebc52
commit
1614bf327b
4 files changed
+101
-37
No files matched your search
+9
-7
@@ -501,15 +501,17 @@ if ($reviews):
|
||||
<div class="reviews-grid">
|
||||
<?php foreach ($reviews['reviews'] as $r): ?>
|
||||
<figure class="review-card">
|
||||
<div class="rv-stars" role="img" aria-label="<?= (int) $r['rating'] ?> de 5 estrelas"><?= $stars((float) $r['rating']) ?></div>
|
||||
<blockquote class="rv-text"><?= nl2br(htmlspecialchars($r['text'])) ?></blockquote>
|
||||
<?php // Reviewer first: big photo (or initial), name, date, stars — then the text, smaller. ?>
|
||||
<div class="rv-avatar">
|
||||
<?php if ($r['author_photo'] !== ''): ?><img src="<?= htmlspecialchars($r['author_photo']) ?>" alt="" loading="lazy" referrerpolicy="no-referrer" width="84" height="84">
|
||||
<?php else: ?><span aria-hidden="true"><?= htmlspecialchars(mb_strtoupper(mb_substr($r['author'], 0, 1))) ?></span><?php endif; ?>
|
||||
</div>
|
||||
<figcaption class="rv-author">
|
||||
<?php if ($r['author_photo'] !== ''): ?><img src="<?= htmlspecialchars($r['author_photo']) ?>" alt="" loading="lazy" referrerpolicy="no-referrer" width="40" height="40"><?php endif; ?>
|
||||
<span>
|
||||
<?php if ($r['author_uri'] !== ''): ?><a href="<?= htmlspecialchars($r['author_uri']) ?>" target="_blank" rel="noopener nofollow"><?= htmlspecialchars($r['author']) ?></a><?php else: ?><?= htmlspecialchars($r['author']) ?><?php endif; ?>
|
||||
<small><?= htmlspecialchars($r['relative']) ?></small>
|
||||
</span>
|
||||
<?php if ($r['author_uri'] !== ''): ?><a href="<?= htmlspecialchars($r['author_uri']) ?>" target="_blank" rel="noopener nofollow"><?= htmlspecialchars($r['author']) ?></a><?php else: ?><?= htmlspecialchars($r['author']) ?><?php endif; ?>
|
||||
<small><?= htmlspecialchars($r['relative']) ?></small>
|
||||
</figcaption>
|
||||
<div class="rv-stars rv-stars-lg" role="img" aria-label="<?= (int) $r['rating'] ?> de 5 estrelas"><?= $stars((float) $r['rating']) ?></div>
|
||||
<blockquote class="rv-text"><?= nl2br(htmlspecialchars($r['text'])) ?></blockquote>
|
||||
</figure>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
Reference in new issue
Block a user