Je souhaite désactiver le srcset uniquement lors de l'appel d'une taille de miniature spécifique (par exemple uniquement lors de l'appel de la taille d'image complète).
Voici deux idées (si je vous comprends bien):
Approche n ° 1
Vérifions la taille du post_thumbnail_sizefiltre. S'il correspond à une taille correspondante (par exemple full), nous nous assurons que le $image_metaest vide, avec le wp_calculate_image_srcset_metafiltre. De cette façon, nous pouvons renflouer tôt la wp_calculate_image_srcset()fonction (avant d'utiliser les filtres max_srcset_image_widthou wp_calculate_image_srcsetpour la désactiver):
/**
 * Remove the srcset attribute from post thumbnails 
 * that are called with the 'full' size string: the_post_thumbnail( 'full' )
 *
 * @link http://wordpress.stackexchange.com/a/214071/26350
 */
 add_filter( 'post_thumbnail_size', function( $size )
 {
     if( is_string( $size ) && 'full' === $size )
         add_filter( 
             'wp_calculate_image_srcset_meta',  
              '__return_null_and_remove_current_filter' 
         );   
    return $size;
 } );
// Would be handy, in this example, to have this as a core function ;-)
function __return_null_and_remove_current_filter ( $var )
{
    remove_filter( current_filter(), __FUNCTION__ );
    return null;
}
Si nous avons:
the_post_thumbnail( 'full' );
alors la <img>balise générée ne contiendra pas l' srcsetattribut.
Pour le cas:
the_post_thumbnail();
nous pourrions faire correspondre la 'post-thumbnail'chaîne de taille.
Approche n ° 2
Nous pourrions également ajouter / supprimer le filtre manuellement avec:
// Add a filter to remove srcset attribute from generated <img> tag
add_filter( 'wp_calculate_image_srcset_meta', '__return_null' );
// Display post thumbnail
the_post_thumbnail();
// Remove that filter again
remove_filter( 'wp_calculate_image_srcset_meta', '__return_null' );
               
              
wp_calculate_image_srcset_metafiltre à la fin de la fonction