Leia na edição impressa do Jornal “O Vilaverdense”, edição de Maio de 2018, já nas bancas!

Leia na edição impressa do Jornal “O Vilaverdense”, edição de Maio de 2018, já nas bancas!
<?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;
}25 minutos atrás - Destaque, Nacional