“Dona Esperança”, utente do Acolhimento Sénior, na Vila de Prado, assinalou recentemente 104 anos de vida. No mesmo dia, outro utente da instituição, “Senhor Reis”, festejou 95 anos.

“Dona Esperança”, utente do Acolhimento Sénior, na Vila de Prado, assinalou recentemente 104 anos de vida. No mesmo dia, outro utente da instituição, “Senhor Reis”, festejou 95 anos.
<?php
function fetch_rss_cached($url, $cache_seconds = 600) {
$key = 'rss_cache_' . md5($url);
$cached = get_transient($key);
if ($cached !== false) {
return simplexml_load_string($cached);
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'WP RSS Fetcher');
$data = curl_exec($ch);
curl_close($ch);
if (!$data) return null;
set_transient($key, $data, $cache_seconds);
return simplexml_load_string($data);
}
function time_ago($datetime) {
$time = strtotime($datetime);
$diff = time() - $time;
if ($diff < 60) return $diff . ' segundos atrás';
if ($diff < 3600) return floor($diff / 60) . ' minutos atrás';
if ($diff < 86400) return floor($diff / 3600) . ' horas atrás';
if ($diff < 604800) return floor($diff / 86400) . ' dias atrás';
return date('d/m/Y H:i', $time);
}
$rss = fetch_rss_cached('https://www.desportivovaledohomem.pt/category/destaque/feed/', 600);
if (!$rss || empty($rss->channel->item)) {
echo '<!-- RSS vazio ou erro -->';
return;
}
$items = $rss->channel->item;
$count = 0;
echo '<div class="rss-posts">';
foreach ($items as $item) {
if ($count >= 5) break;
$title = (string) $item->title;
$link = (string) $item->link;
$pubDate = (string) $item->pubDate;
$timeAgo = time_ago($pubDate);
$categoryText = isset($item->category[0]) ? (string) $item->category[0] : '';
echo '<div class="rss-post">';
echo '<p class="rss-meta">' . esc_html($timeAgo) . ' - ' . esc_html($categoryText) . '</p>';
echo '<h3 class="rss-title"><a href="' . esc_url($link) . '" target="_blank" rel="noopener">' . esc_html($title) . '</a></h3>';
echo '</div>';
$count++;
}
echo '</div>';
?>
.rss-posts {
font-family: "MYRIAD PRO";
font-weight: 400;
}
.rss-post {
padding: 10px 0;
border-bottom: 1px solid #8E8E8D;
}
.rss-meta {
color: #828282;
font-size: 11px;
margin-bottom: 0px;
font-weight: 600;
}
.rss-title {
font-size: 14px;
line-height: 1.4;
margin: 0;
}
.rss-title a {
text-decoration: none;
color: #363636;
font-family: "Myriad Pro";
font-weight: 400;
font-size: 17px;
}
.rss-post:last-child {
border: none;
}