Chiedo scusa, ma ho bisogno di riesumare il topic per fare un'altra domanda, sempre relativa al file functions.php e che concerne immagini grandi.
Le recenti versioni di wordpress hanno aggiunto alla funzione dei media, una nuova misura intermedia, denominata "medium_large".
Tale versione salva una copia delle immagini a 768px di larghezza come default, senza porre limiti di altezza.
E la brutta notizia è che wp impone tale novità senza possibilità di controllo. Nel menu settings > media potremo infatti definire le proprietà solamente delle versioni small, medium e large. Quella medium_large è nascosta di default.
Cosa significa questo? Che ogni volta che carichiamo un'immagine grossa, ci sarà un'ulteriore copia medium_large imposta da wp, che va ad occupare un sacco di storage inutilmente (per chi non ha necessità di averla).
A quanto leggo, l'unico modo di modificare le proprietà dei media medium_large è di farlo mediante la funzione update_option() che è la seguente:
codice:
<?php update_option( $option, $new_value, $autoload ); ?>
Essendo io non all'altezza della situazione, qualcuno potrebbe aiutarmi nel comporre tale suddetto codice?
Devo purtroppo far presente che tutte le maniere alternative di ovviare a questo problema relativo al 'srcset' e le sue 'sizes attributes' mediante functions.php non è andato a buon fine: ho provato ognuno dei seguenti codici (dati per funzionanti da altri utenti in stack over flow), ma il mio wp continua a creare sempre e a prescindere quella dannata foto in versione 768x??? px, ignorando le functions.
codice:
///// TEST NUMERO 1 \\\\\
add_filter( 'wp_calculate_image_srcset_meta', '__return_null' );
///// TEST NUMERO 2 \\\\\
remove_filter( 'the_content', 'wp_make_content_images_responsive' );
///// TEST NUMERO 3 \\\\\
function disable_srcset( $sources ) {
return false;
}
add_filter( 'wp_calculate_image_srcset', 'disable_srcset' );
///// TEST NUMERO 4 \\\\\
add_filter( 'wp_calculate_image_srcset', function( $sources )
{
foreach( $sources as &$source )
{
if( isset( $source['url'] ) )
$source['url'] = set_url_scheme( $source['url'], 'https' );
}
return $sources;
}, PHP_INT_MAX );
///// TEST NUMERO 5 \\\\\
function filter_max_srcset( $max_width, $size_array ) {
if ( $size_array[0] === 300 ) {
$max_width = 1;
}
return $max_width;
}
add_filter( 'max_srcset_image_width', 'filter_max_srcset', 10, 2 );