rsoury / wp-imgix
将WordPress图像URL重写为使用ImgIX
0.12.6
2021-03-03 15:25 UTC
Requires
- imgix/imgix-php: ^3.3
Requires (Dev)
- phpunit/phpunit: ^7
README
WP ImgIX 是一个Wordpress插件,可自动通过imgix服务加载您现有的(以及未来的)所有WordPress图像,以实现更小、更快、更好的图像。
此插件负责修改WordPress图像URL以使用ImgIX服务。它与S3-Uploads配合得很好。
安装
- 从github下载此插件的zipped主分支。.
- 将插件解压到您的
plugins
文件夹。 - 启用插件。
- 将
define( 'WP_IMGIX_URL', 'your.imgix.net' )
添加到您的wp-config.php
文件中。 - 如果您正在签名URL,请将
define( 'WP_IMGIX_SIGNING_TOKEN', 'abcdefg123456' )
添加到您的wp-config.php
文件中。
使用方法
通常,您只需执行上述步骤即可,但您可以使用以下面向公众的函数和过滤器。
函数
imgix_url( string $image_url, array $args = [] )
此函数返回给定图像的ImgIX URL。
$image_url = 'https://my-bucket.s3.us-east-1.amazonaws.com/path/to/image.jpg'; $args = [ 'x' => '300' 'y' => '300', 'fit' => 'crop' ]; $url = imgix_url( $image_url, $args );
过滤器
以下过滤器允许您修改插件输出的行为。以下过滤器可以添加到您的主题的functions.php
中,以修改imgix URL的行为。
imgix_disable_in_admin
默认为true
。
add_filter( 'imgix_disable_in_admin', '__return_false' );
imgix_override_image_downsize
默认为false
。提供了一种防止ImgIX应用于从WordPress Core检索的图像的方法,您可能需要在某些特定情况下手动使用imgix_url()
。
add_filter( 'imgix_override_image_downsize', '__return_true' );
imgix_skip_for_url
允许跳过给定图像URL的ImgIX URL。默认为false
。
add_filter( 'imgix_skip_for_url', function ( $skip, $image_url, $args ) { if ( strpos( $image_url, 'original' ) !== false ) { return true; } return $skip; }, 10, 3 );
imgix_pre_image_url
过滤ImgIX图像URL,排除查询字符串参数。
add_filter( 'imgix_pre_image_url', function ( $image_url, $args ) { if ( rand( 1, 2 ) === 2 ) { $image_url = str_replace( WP_IMGIX_URL, WP_IMGIX_URL_2, $image_url ); } return $image_url; }, 10, 2 );
imgix_pre_args
过滤附加到imgix图像URL的查询字符串参数。
add_filter( 'imgix_pre_args', function ( $args ) { if ( isset( $args['fit'] ) ) { $args['fill'] = 'blur'; } return $args; } );
imgix_remove_size_attributes
默认为true
。默认情况下从图像标签中删除width
和height
属性,以防止在srcset大小具有不同宽高比的情况下发生纵横比扭曲。
add_filter( 'imgix_remove_size_attributes', '__return_true' );
致谢
由Web Doodle创建
从HumanMade的Tachyon插件派生而来 -- 特殊感谢HumanMade团队在加速WordPress项目上的工作。
由Ryan Soury编写和维护。