fix: render customizer images through wordpress media

This commit is contained in:
bisco
2026-06-25 15:46:16 +02:00
parent 32edb96b40
commit 4849b26232
3 changed files with 40 additions and 3 deletions
+3 -3
View File
@@ -25,7 +25,7 @@ $features = array(
</div>
</div>
<figure class="hero-visual">
<img src="<?php echo esc_url( $hero_image ); ?>" alt="Il gruppo durante un esercizio teatrale" width="960" height="1120" fetchpriority="high">
<?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>
@@ -57,7 +57,7 @@ $features = array(
<section class="section section-sand" id="laboratorio" aria-labelledby="laboratory-title">
<div class="container split-grid">
<div class="editorial-image"><img src="<?php echo esc_url( $laboratory_image ); ?>" alt="Esercizio di movimento nello spazio" width="960" height="760" loading="lazy"></div>
<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>
@@ -69,7 +69,7 @@ $features = array(
<section class="section" id="maestro" aria-labelledby="teacher-title">
<div class="container teacher-grid">
<div class="teacher-photo"><img src="<?php echo esc_url( $teacher_image ); ?>" alt="Ritratto di <?php echo esc_attr( azionelab_mod( 'teacher_name' ) ); ?>" width="760" height="900" loading="lazy"></div>
<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>
+24
View File
@@ -45,6 +45,30 @@ function azionelab_asset( string $filename ): string {
return get_theme_file_uri( 'assets/images/' . $filename );
}
function azionelab_image( string $url, string $alt, array $attributes = array() ): string {
$attributes = array_merge(
array(
'alt' => $alt,
),
$attributes
);
$attachment_id = attachment_url_to_postid( $url );
if ( $attachment_id > 0 ) {
return wp_get_attachment_image( $attachment_id, 'large', false, $attributes ) ?: '';
}
$html_attributes = '';
foreach ( $attributes as $name => $value ) {
if ( '' === (string) $value ) {
continue;
}
$html_attributes .= sprintf( ' %s="%s"', esc_attr( $name ), esc_attr( (string) $value ) );
}
return sprintf( '<img src="%s"%s>', esc_url( $url ), $html_attributes );
}
function azionelab_phone_href( string $number ): string {
return preg_replace( '/[^0-9+]/', '', $number ) ?: '';
}