代码之家  ›  专栏  ›  技术社区  ›  Laurent

WordPress-响应图像-删除大小

  •  1
  • Laurent  · 技术社区  · 6 年前

    前一段时间,我在WordPress中添加了一些额外的图像格式,以便对我的响应显示进行微调。我将这些行添加到functions.php:

    add_image_size( "maximal", "1900" );
    add_image_size( "desktop", "1400" );
    add_image_size( "tablet", "900" );
    add_image_size( "smalltablet", "700" );
    add_image_size( "mobile", "500" );
    add_theme_support( 'post-thumbnails' ); 
    

    我发布的时候我太贪婪了,因为我现在没有使用这些格式中的大部分,我想删除其中的一些。为了做到这一点,我基本上评论了我想要摆脱的图像格式,但是从我所看到的,所有srcset属性仍然在我的代码中列出它们。

    有没有办法告诉WordPress停止在srcset中添加这些格式?我曾想过使用regex来除去它们,但这会对页面产生额外的处理。

    谢谢

    劳伦特

    1 回复  |  直到 6 年前
        1
  •  1
  •   abdallah Nofal    6 年前

    要确保未注册这些图像的大小,请使用以下方法:

    remove_image_size( "maximal" );
    

    然后使用这些过滤器从这些大小中清除当前图像:

    // Remove the calculated image sizes
    add_filter( 'wp_calculate_image_sizes', '__return_false' );
    
    // Remove the calculated image sizes
    add_filter( 'wp_calculate_image_srcset', '__return_false' );
    
    // Clean image attrs
    add_filter( 'wp_get_attachment_image_attributes', 'unset_image_sizes');
    function unset_image_sizes() {
      if( isset( $attr['sizes'] ) )
        unset( $attr['sizes'] );
    
      if( isset( $attr['srcset'] ) )
        unset( $attr['srcset'] );
    }
    

    我希望这有帮助。