Files
azionelab-v2/wordpress/theme/azionelab/front-page.php
T
2026-06-26 15:54:57 +02:00

230 lines
14 KiB
PHP

<?php
/** Homepage single-page template. */
get_header();
$hero_image = get_theme_mod( 'hero_image' ) ?: azionelab_asset( 'hero.svg' );
$laboratory_image = get_theme_mod( 'laboratory_image' ) ?: azionelab_asset( 'laboratory.svg' );
$teacher_image = get_theme_mod( 'teacher_image' ) ?: azionelab_asset( 'teacher.svg' );
$features = array(
array( 'Per chi inizia', 'Non serve esperienza: serve curiosità, ascolto e voglia di mettersi in gioco.' ),
array( 'Per chi vuole crescere', 'Un tempo regolare per approfondire strumenti, consapevolezza e libertà espressiva.' ),
array( 'Per chi ama il gruppo', 'La scena nasce dalla fiducia: si crea insieme, rispettando tempi e sensibilità diverse.' ),
);
$social_links = array_values(
array_filter(
array(
array( 'label' => 'Instagram', 'url' => trim( azionelab_mod( 'contact_instagram' ) ), 'icon' => 'instagram' ),
array( 'label' => 'Facebook', 'url' => trim( azionelab_mod( 'contact_facebook' ) ), 'icon' => 'facebook' ),
array( 'label' => 'YouTube', 'url' => trim( azionelab_mod( 'contact_youtube' ) ), 'icon' => 'youtube' ),
),
static fn ( array $link ): bool => '' !== $link['url']
)
);
$contact_email = sanitize_email( azionelab_mod( 'contact_email' ) );
$contact_phone = trim( azionelab_mod( 'contact_phone' ) );
$contact_phone_href = azionelab_phone_href( $contact_phone );
$contact_whatsapp = trim( azionelab_mod( 'contact_whatsapp' ) );
$contact_whatsapp_href = azionelab_whatsapp_href( $contact_whatsapp );
?>
<main id="contenuto">
<section class="hero section" id="inizio" aria-labelledby="hero-title">
<div class="container hero-grid">
<div class="hero-copy">
<p class="eyebrow">Laboratorio teatrale · corpo, voce, relazione</p>
<h1 id="hero-title"><?php echo esc_html( azionelab_mod( 'hero_title' ) ); ?></h1>
<p class="hero-subtitle"><?php echo esc_html( azionelab_mod( 'hero_subtitle' ) ); ?></p>
<div class="button-row">
<a class="button" href="#contatti"><?php echo esc_html( azionelab_mod( 'hero_primary_label' ) ); ?></a>
<a class="text-link" href="#galleria"><?php echo esc_html( azionelab_mod( 'hero_secondary_label' ) ); ?> <span aria-hidden="true">↓</span></a>
</div>
</div>
<figure class="hero-visual">
<?php echo azionelab_image( $hero_image, 'Il gruppo durante un esercizio teatrale', array( 'width' => '960', 'height' => '1120', 'fetchpriority' => 'high' ) ); ?>
<figcaption>Il gruppo è materia viva.</figcaption>
</figure>
</div>
</section>
<section class="manifesto section" aria-labelledby="manifesto-title">
<div class="container narrow">
<p class="eyebrow">Il nostro modo di lavorare</p>
<h2 id="manifesto-title"><?php echo esc_html( azionelab_mod( 'intro_title' ) ); ?></h2>
<div class="manifesto-text rich-text"><?php echo wp_kses_post( wpautop( azionelab_mod( 'intro_body' ) ) ); ?></div>
</div>
</section>
<section class="features section" aria-labelledby="features-title">
<div class="container">
<p class="eyebrow">Perché partecipare</p>
<h2 id="features-title">Un percorso aperto</h2>
<div class="feature-grid">
<?php foreach ( $features as $index => $feature ) : ?>
<article class="feature-card">
<p class="feature-index"><?php echo esc_html( sprintf( '%02d', $index + 1 ) ); ?></p>
<h3><?php echo esc_html( $feature[0] ); ?></h3>
<p><?php echo esc_html( $feature[1] ); ?></p>
</article>
<?php endforeach; ?>
</div>
</div>
</section>
<section class="section section-sand" id="laboratorio" aria-labelledby="laboratory-title">
<div class="container split-grid">
<div class="editorial-image"><?php echo azionelab_image( $laboratory_image, 'Esercizio di movimento nello spazio', array( 'width' => '960', 'height' => '760', 'loading' => 'lazy' ) ); ?></div>
<div>
<p class="eyebrow">Pratica e ricerca</p>
<h2 id="laboratory-title"><?php echo esc_html( azionelab_mod( 'laboratory_title' ) ); ?></h2>
<div class="lead rich-text"><?php echo wp_kses_post( wpautop( azionelab_mod( 'laboratory_body' ) ) ); ?></div>
<ul class="practice-list" aria-label="Aree di lavoro"><li>Corpo</li><li>Voce</li><li>Improvvisazione</li><li>Ascolto</li><li>Presenza scenica</li></ul>
</div>
</div>
</section>
<section class="section" id="maestro" aria-labelledby="teacher-title">
<div class="container teacher-grid">
<div class="teacher-photo"><?php echo azionelab_image( $teacher_image, 'Ritratto di ' . azionelab_mod( 'teacher_name' ), array( 'width' => '760', 'height' => '900', 'loading' => 'lazy' ) ); ?></div>
<div>
<p class="eyebrow">La guida del percorso</p>
<h2 id="teacher-title">Il maestro</h2>
<h3><?php echo esc_html( azionelab_mod( 'teacher_name' ) ); ?></h3>
<div class="lead rich-text"><?php echo wp_kses_post( wpautop( azionelab_mod( 'teacher_bio' ) ) ); ?></div>
<blockquote>“<?php echo esc_html( azionelab_mod( 'teacher_quote' ) ); ?>”</blockquote>
</div>
</div>
</section>
<section class="lessons section section-sand" id="lezioni" aria-labelledby="lessons-title">
<div class="container">
<div class="section-heading"><div><p class="eyebrow">Informazioni pratiche</p><h2 id="lessons-title">Le lezioni</h2></div><p>Un appuntamento settimanale per allenarsi con continuità, senza fretta.</p></div>
<div class="lesson-panel">
<dl class="lesson-details">
<div><dt>Quando</dt><dd><?php echo esc_html( azionelab_mod( 'lesson_schedule' ) ); ?></dd></div>
<div><dt>Dove</dt><dd><?php echo esc_html( azionelab_mod( 'lesson_location' ) ); ?></dd></div>
<div><dt>Per chi</dt><dd><?php echo esc_html( azionelab_mod( 'lesson_audience' ) ); ?></dd></div>
<div><dt>Cosa facciamo</dt><dd><?php echo wp_kses_post( azionelab_mod( 'lesson_description' ) ); ?></dd></div>
</dl>
<aside class="trial-card">
<p class="eyebrow">Puoi provare</p>
<h3><?php echo esc_html( azionelab_mod( 'trial_lesson' ) ); ?></h3>
<p><?php echo esc_html( azionelab_mod( 'lesson_notes' ) ); ?></p>
<a class="button" href="#contatti">Prenota un incontro</a>
</aside>
</div>
</div>
</section>
<section class="section" id="spettacoli" aria-labelledby="shows-title">
<div class="container">
<div class="section-heading"><div><p class="eyebrow">Spettacoli e progetti</p><h2 id="shows-title">La scena continua</h2></div><p>Esiti, attraversamenti e lavori corali nati durante il percorso.</p></div>
<div class="shows-grid">
<?php
$shows = new WP_Query(
array(
'post_type' => 'azl_show',
'posts_per_page' => 6,
'orderby' => array( 'menu_order' => 'ASC', 'date' => 'DESC' ),
)
);
if ( $shows->have_posts() ) :
$show_index = 0;
while ( $shows->have_posts() ) :
$shows->the_post();
$fallback = azionelab_asset( 0 === $show_index % 2 ? 'show-one.svg' : 'show-two.svg' );
$image = get_the_post_thumbnail_url( get_the_ID(), 'large' ) ?: $fallback;
$year = get_post_meta( get_the_ID(), 'azl_show_year', true );
$year = '0' === (string) $year ? '' : $year;
$location = get_post_meta( get_the_ID(), 'azl_show_location', true );
$show_meta = implode( ' · ', array_filter( array( $year, $location ) ) );
?>
<article class="show-card">
<img src="<?php echo esc_url( $image ); ?>" alt="Locandina di <?php the_title_attribute(); ?>" width="700" height="880" loading="lazy">
<div class="show-copy"><?php if ( $show_meta ) : ?><p class="show-meta"><?php echo esc_html( $show_meta ); ?></p><?php endif; ?><h3><?php echo esc_html( get_the_title() ); ?></h3><div><?php echo wp_kses_post( wpautop( get_the_excerpt() ) ); ?></div></div>
</article>
<?php
++$show_index;
endwhile;
wp_reset_postdata();
else :
?>
<p class="empty-state">I prossimi progetti saranno pubblicati presto.</p>
<?php endif; ?>
</div>
</div>
</section>
<section class="section section-sand" id="galleria" aria-labelledby="gallery-title">
<div class="container">
<div class="section-heading"><div><p class="eyebrow">Dentro il laboratorio</p><h2 id="gallery-title">Galleria</h2></div><p>Lezioni, backstage, spettacoli e il tempo condiviso dal gruppo.</p></div>
<div class="gallery-grid">
<?php
$gallery = new WP_Query(
array(
'post_type' => 'azl_gallery',
'posts_per_page' => 8,
'orderby' => array( 'menu_order' => 'ASC', 'date' => 'DESC' ),
)
);
if ( $gallery->have_posts() ) :
$gallery_index = 0;
while ( $gallery->have_posts() ) :
$gallery->the_post();
$fallback = azionelab_asset( 'gallery-' . ( ( $gallery_index % 4 ) + 1 ) . '.svg' );
$image = get_the_post_thumbnail_url( get_the_ID(), 'large' ) ?: $fallback;
$category = get_post_meta( get_the_ID(), 'azl_gallery_category', true );
?>
<figure class="gallery-item"><img src="<?php echo esc_url( $image ); ?>" alt="<?php the_title_attribute(); ?>" width="860" height="700" loading="lazy"><figcaption><?php echo esc_html( $category ? $category . ' · ' . get_the_title() : get_the_title() ); ?></figcaption></figure>
<?php
++$gallery_index;
endwhile;
wp_reset_postdata();
else :
?>
<p class="empty-state">La galleria sarà aggiornata presto.</p>
<?php endif; ?>
</div>
</div>
</section>
<section class="contacts section" id="contatti" aria-labelledby="contacts-title">
<div class="container contact-grid">
<div>
<p class="eyebrow">Parliamone</p>
<h2 id="contacts-title">Vieni a conoscerci</h2>
<p class="lead">Non serve esperienza: basta la curiosità di incontrare il teatro e il gruppo.</p>
<div class="contact-info">
<?php echo azionelab_contact_icon( 'address' ); ?>
<p><strong>Dove</strong><br><?php echo esc_html( azionelab_mod( 'contact_address' ) ); ?></p>
</div>
<?php if ( $social_links ) : ?>
<div class="social-promo">
<p class="social-promo-title">Seguici sui social</p>
<div class="social-links">
<?php foreach ( $social_links as $social_link ) : ?>
<a class="social-link social-link-<?php echo esc_attr( $social_link['icon'] ); ?>" href="<?php echo esc_url( $social_link['url'] ); ?>" rel="noopener noreferrer">
<?php echo azionelab_social_icon( $social_link['icon'] ); ?>
<span class="visually-hidden"><?php echo esc_html( $social_link['label'] ); ?></span>
</a>
<?php endforeach; ?>
</div>
</div>
<?php endif; ?>
</div>
<div class="contact-actions">
<?php if ( $contact_email ) : ?>
<a class="contact-action" href="mailto:<?php echo esc_attr( $contact_email ); ?>"><?php echo azionelab_contact_icon( 'email' ); ?><span>Scrivi una mail</span><strong><?php echo esc_html( $contact_email ); ?></strong></a>
<?php endif; ?>
<?php if ( $contact_phone && $contact_phone_href ) : ?>
<a class="contact-action" href="tel:<?php echo esc_attr( $contact_phone_href ); ?>"><?php echo azionelab_contact_icon( 'phone' ); ?><span>Chiama</span><strong><?php echo esc_html( $contact_phone ); ?></strong></a>
<?php endif; ?>
<?php if ( $contact_whatsapp && $contact_whatsapp_href ) : ?>
<a class="contact-action" href="https://wa.me/<?php echo esc_attr( $contact_whatsapp_href ); ?>" rel="noopener noreferrer"><?php echo azionelab_contact_icon( 'whatsapp' ); ?><span>WhatsApp</span><strong><?php echo esc_html( $contact_whatsapp ); ?></strong></a>
<?php endif; ?>
</div>
</div>
</section>
</main>
<?php
get_footer();