ADD portada, backend & styles

This commit is contained in:
2025-07-25 11:51:47 +00:00
parent 81f7145333
commit edb558c2d5
5 changed files with 321 additions and 98 deletions

View File

@ -31,9 +31,7 @@ class StarterSite extends Site {
add_filter('upload_mimes', [$this, 'add_svg_support']); //add svg files
add_filter('timber/context', [$this, 'add_global_context']); // variables globales
//add_filter('timber/twig', [$this, 'add_youtube_function_to_twig']);
add_filter('timber/twig', [$this, 'add_videos_embed_to_twig']);
add_filter('timber/twig', [$this, 'add_videos_embed_to_twig']); //videos embed
parent::__construct();
}
@ -48,9 +46,9 @@ class StarterSite extends Site {
wp_enqueue_style( 'twbsi', get_template_directory_uri() . '/vendor/twbs/bootstrap-icons/font/bootstrap-icons.min.css', [], $version, 'all');
wp_enqueue_style( 'lust', get_template_directory_uri() . '/style.css', [], $version, 'all');
//~ wp_enqueue_script( 'pop', get_template_directory_uri() . '/static/popper.min.js', [], $version, false);
// wp_enqueue_script( 'pop', get_template_directory_uri() . '/static/popper.min.js', [], $version, false);
wp_enqueue_script( 'twbs', get_template_directory_uri() . '/vendor/twbs/bootstrap/dist/js/bootstrap.min.js', [], $version, false);
//wp_enqueue_script( 'lust', get_template_directory_uri() . '/static/site.js', [], $version, false);
wp_enqueue_script( 'lust', get_template_directory_uri() . '/assets/scripts/site.js', [], $version, false);
}
@ -192,6 +190,11 @@ class StarterSite extends Site {
return $options;
}
/**
* New functions to add Sindikatua theme
* @author Gustavo
*/
//add svg files
public function add_svg_support($file_types) {
$new_filetypes = array();
@ -229,6 +232,7 @@ class StarterSite extends Site {
private function getIconsRRSS() {
$icons_rrss = [];
for ($i = 1; $i <= 4; $i++) {
$img = get_field('rrss_img_' . $i, 'option');
$url = get_field('rrss_url_' . $i, 'option');
@ -246,7 +250,7 @@ class StarterSite extends Site {
private function getLogosHeader ($max_logos = 2) {
$logos = [];
for ($i = 1; $i <= $max_logos; $i++) {
$logoHeader = get_field('logo_header_' . $i, 'option');
$textoHeader = get_field('texto_header_' . $i, 'option');
@ -260,13 +264,12 @@ class StarterSite extends Site {
}
return $logos;
}
private function getVideosCarousel($cantidad = 2) {
private function getVideosCarousel() {
return Timber::get_posts([
'post_type' => 'videos',
'posts_per_page' => $cantidad,
'posts_per_page' => -1, // -1 = sin límite
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC'
@ -283,17 +286,15 @@ class StarterSite extends Site {
]);
}
// Añadir en functions.php si no la tienes ya
// private function obtener_youtube_id($url) {
// $pattern = '/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/';
// preg_match($pattern, $url, $matches);
// return isset($matches[1]) ? $matches[1] : false;
// }
// public function add_youtube_function_to_twig($twig) {
// $twig->addFunction(new \Twig\TwigFunction('youtube_id', [$this, 'obtener_youtube_id']));
// return $twig;
// }
private function getCampanaArticles() {
return Timber::get_posts([
'post_type' => 'campana',
'posts_per_page' => 1,
'post_status' => 'publish',
'orderby' => 'date',
'order' => 'DESC'
]);
}
public function generar_embed_universal($url) {
if (empty($url)) {
@ -304,12 +305,13 @@ class StarterSite extends Site {
if (strpos($url, 'youtube.com') !== false || strpos($url, 'youtu.be') !== false) {
//error_log('es un vídeo de youtube'); // Debug
preg_match('/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/', $url, $matches);
if (!empty($matches[1])) {
$embed_data = [
'platform' => 'youtube',
'embed_url' => 'https://www.youtube.com/embed/' . $matches[1] . '?rel=0&modestbranding=1',
'allow' => 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture'
'thumbnail_url' => 'https://img.youtube.com/vi/' . $matches[1]. '/hqdefault.jpg',
'allow' => 'autoplay; encrypted-media; picture-in-picture'
];
//error_log('Embed URL generada: ' . $embed_data['embed_url']);
@ -357,6 +359,7 @@ class StarterSite extends Site {
$context['logos_header'] = $this->getLogosHeader();
$context['videos_carousel'] = $this->getVideosCarousel();
$context['ultimo_articulo_opinion'] = $this->getUltimoArticuloOpinion();
$context['posts_campana'] = $this->getCampanaArticles();
return $context;
}