[glc_videos] [glc_podcasts]
đ
filename.php
<?php
/**
* Shortcode [glc_videos] : affiche les vidéos YouTube du GLC
*/
function glc_videos_shortcode() {
$response = wp_remote_get('https://glcbaudour.be/api/glc-videos.php');
if (is_wp_error($response)) {
return '<p>Impossible de charger les vidéos pour le moment.</p>';
}
$body = wp_remote_retrieve_body($response);
$videos = json_decode($body, true);
if (!is_array($videos)) {
return '<p>Format de données invalide.</p>';
}
ob_start();
?>
<div class="glc-videos">
<?php foreach ($videos as $video): ?>
<div class="glc-video-item">
<img
src="<?php echo esc_url($video['thumbnailUrl']); ?>"
alt="<?php echo esc_attr($video['title']); ?>"
/>
<h3><?php echo esc_html($video['title']); ?></h3>
<p class="glc-video-date">
<?php echo esc_html(date_i18n('j F Y', strtotime($video['publishedAt']))); ?>
</p>
<a href="<?php echo esc_url($video['link']); ?>" target="_blank" rel="noopener">
Voir la vidéo
</a>
</div>
<?php endforeach; ?>
</div>
<?php
return ob_get_clean();
}
add_shortcode('glc_videos', 'glc_videos_shortcode');
/**
* Shortcode [glc_podcasts] : affiche les podcasts du flux Ausha
*/
function glc_podcasts_shortcode() {
$response = wp_remote_get('https://glcbaudour.be/api/podcasts');
if (is_wp_error($response)) {
return '<p>Impossible de charger les podcasts pour le moment.</p>';
}
$body = wp_remote_retrieve_body($response);
$podcasts = json_decode($body, true);
if (!is_array($podcasts)) {
return '<p>Format de données invalide.</p>';
}
ob_start();
?>
<div class="glc-podcasts">
<?php foreach ($podcasts as $p): ?>
<div class="glc-podcast-item">
<?php if (!empty($p['imageUrl'])): ?>
<img
src="<?php echo esc_url($p['imageUrl']); ?>"
alt="<?php echo esc_attr($p['title']); ?>"
/>
<?php endif; ?>
<h3><?php echo esc_html($p['title']); ?></h3>
<?php if (!empty($p['publishedAt'])): ?>
<p class="glc-podcast-date">
<?php echo esc_html(date_i18n('j F Y', strtotime($p['publishedAt']))); ?>
</p>
<?php endif; ?>
<?php if (!empty($p['description'])): ?>
<p class="glc-podcast-desc">
<?php echo esc_html($p['description']); ?>
</p>
<?php endif; ?>
<?php if (!empty($p['audioUrl'])): ?>
<audio controls style="width:100%;">
<source src="<?php echo esc_url($p['audioUrl']); ?>" type="audio/mpeg">
Votre navigateur ne supporte pas lâĂ©lĂ©ment audio.
</audio>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php
return ob_get_clean();
}
add_shortcode('glc_podcasts', 'glc_podcasts_shortcode');
