답변:
특정 축소판 크기를 호출 할 때만 (예를 들어 전체 이미지 크기를 호출 할 때만) srcset을 비활성화하고 싶습니다.
다음은 두 가지 아이디어입니다 (잘 이해하면).
post_thumbnail_size
필터 에서 크기를 확인합시다 . 해당 크기 (예 :)와 일치 하면 필터 와 함께 비어 full
있는지 확인합니다 . 그렇게하면 함수 에서 초기에 구제 할 수 있습니다 ( 또는 필터를 사용하여 비활성화하기 전에 )$image_meta
wp_calculate_image_srcset_meta
wp_calculate_image_srcset()
max_srcset_image_width
wp_calculate_image_srcset
/**
* 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;
}
우리가 가지고 있다면 :
the_post_thumbnail( 'full' );
생성 된 <img>
태그는 srcset
속성을 포함하지 않습니다 .
이 경우 :
the_post_thumbnail();
'post-thumbnail'
크기 문자열을 일치시킬 수 있습니다.
다음을 사용하여 수동으로 필터를 추가 / 제거 할 수도 있습니다.
// 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' );
add_filter
합니다. 이 패턴은 실제로 일반적입니다.
wp_calculate_image_srcset_meta
함수가 끝나면 필터를 제거해야 할 수도 있습니다