innocode-digital / wp-assets-version
帮助管理CSS和JS文件的版本。
1.1.0
2022-10-05 13:19 UTC
Requires
- php: >=7.3
- composer/installers: ~1.0
- innocode-digital/wp-version: ^1.0
README
描述
帮助管理CSS和JS文件的版本。插件添加了清除按钮到管理区域进行版本升级。需要 清除缓存按钮 插件。
安装
-
推荐使用Composer
composer require innocode-digital/wp-assets-version
默认情况下,它将被安装为必须使用插件。可以通过在
composer.json
中使用extra.installer-paths
来控制。 -
另一种方法是克隆此仓库到
wp-content/mu-plugins/
或wp-content/plugins/
cd wp-content/plugins/ git clone git@github.com:innocode-digital/wp-assets-version.git cd wp-assets-version/ composer install
如果插件以常规插件的方式安装,则从插件页面或WP-CLI激活wp plugin activate wp-assets-version
激活 Assets Version。
使用方法
WordPress核心中存在已知的函数wp_enqueue_script和wp_enqueue_style用于注册和队列脚本和样式。在两者中,第4个参数是用于版本号,在理想情况下,它应该是构建或主题的版本,或者在文件名中使用一些版本散列(null
),但有时很难实现,或者在缓存中可能存在特定的问题,这就是这个插件成为良好热修复的地方。有几种方法可以使用此插件添加版本号
-
通过函数
innocode_assets_version()
检索版本,并将其设置为队列函数中的第4个参数,例如:$ver = function_exists( 'innocode_assets_version' ) ? innocode_assets_version() : false; wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer );
-
强制使用设置为第4个参数的
null
add_filter( 'innocode_assets_version_allow_default', '__return_true' );
-
强制使用版本,但针对每个依赖项有自己的逻辑(需要设置之前的钩子),例如:
/** * @param bool $allow * @param string $type - One of [ 'script', 'style' ]. * @param _WP_Dependency $dependency */ add_filter( 'innocode_assets_version_allow_dependency', function ( bool $allow, string $type, _WP_Dependency $dependency ) { // @TODO: implement logic return $allow; }, 20, 3 );