innocode-digital/wp-critical-css-aws-lambda
最新稳定版本:3.0.0
Composer 安装命令:
composer require innocode-digital/wp-critical-css-aws-lambda
包简介
Generates critical stylesheets for templates via AWS Lambda.
README 文档
README
Description
Generates critical stylesheets for templates via AWS Lambda. See also AWS Lambda Critical CSS.
Install
-
Preferable way is to use Composer:
composer require innocode-digital/wp-critical-css-aws-lambdaBy default, it will be installed as Must Use Plugin. It's possible to control with
extra.installer-pathsincomposer.json. -
Alternate way is to clone this repo to
wp-content/mu-plugins/orwp-content/plugins/:cd wp-content/plugins/ git clone git@github.com:innocode-digital/wp-critical-css-aws-lambda.git cd wp-critical-css-aws-lambda/ composer install
If plugin was installed as regular plugin then activate AWS Lambda Critical CSS from Plugins page
or WP-CLI: wp plugin activate wp-critical-css-aws-lambda.
Usage
Add the following constants to wp-config.php:
define( 'AWS_LAMBDA_CRITICAL_CSS_KEY', '' );
define( 'AWS_LAMBDA_CRITICAL_CSS_SECRET', '' );
define( 'AWS_LAMBDA_CRITICAL_CSS_REGION', '' ); // e.g. eu-west-1
define( 'AWS_LAMBDA_CRITICAL_CSS_FUNCTION', '' ); // Optional, default value is "critical-css-production-processor"
Create serverless function on your favorite service. Expected default name is critical-css-production-processor, but you may use any other. There is a prepared function AWS Lambda Critical CSS.
Usage
To generate critical CSS from enqueued styles:
add_filter( 'innocode_critical_css_styles', function () {
return [
// List of enqueued styles.
// Specify styles which you think are needed for critical CSS.
];
} );
Caveats
- Relative paths to custom fonts or images in stylesheets should be changed to absolute:
add_filter( 'innocode_critical_css_stylesheet', function ( $stylesheet ) {
$stylesheet = str_replace(
'../fonts/',
get_template_directory_uri() . '/path/to/fonts/',
$stylesheet
);
$stylesheet = str_replace(
'../images/',
get_template_directory_uri() . '/path/to/images/',
$stylesheet
);
return $stylesheet;
} );
-
This plugin is only for generating and rendering critical CSS, to defer CSS files you may use Deferred loading.
-
If page caching is used then you may want to add variable value from cookie in cache key. E.g. for Batcache it's possible to do with next code before
advanced-cache.phpfile is included:
foreach ( array_keys( $_COOKIE ) as $name ) {
if ( strpos( $name, 'innocode_critical_css_' ) === 0 ) {
$GLOBALS['batcache']['unique']['innocode_critical_css'] = substr( $name, strlen( 'innocode_critical_css_' ) );
}
}
统计信息
- 总下载量: 4.78k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0
- 更新时间: 2021-03-19