Considerou ineficaz a licença existente.
Leia na edição impressa de Setembro ou aceda à edição digital*
*Saiba como: clique aqui (www.ovilaverdense.pt/conta)

Considerou ineficaz a licença existente.
Leia na edição impressa de Setembro ou aceda à edição digital*
*Saiba como: clique aqui (www.ovilaverdense.pt/conta)
<?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;
}39 minutos atrás - Destaque, Região