WooCommerce woocommerce_shared_settings弃用报错修复代码放置位置咨询
WooCommerce筛选器弃用报错修复方案
修复代码放置位置
你可以根据你的修改场景选择对应放置路径:
- 若你在自定义主题中调整功能,将代码写入主题根目录的
functions.php文件即可,需要挂载到woocommerce_blocks_loaded钩子下执行,避免出现类未初始化的报错,完整可直接使用的代码示例如下:
add_action('woocommerce_blocks_loaded', function() { // 此处替换为你实际要传递的参数键和值 $key = 'your_custom_setting_key'; $value = 'your_custom_setting_value'; use Automattic\WooCommerce\Blocks\Package; use Automattic\WooCommerce\Blocks\Assets\AssetDataRegistry; Package::container()->get( AssetDataRegistry::class )->add( $key, $value ); });
- 若你通过自定义插件实现筛选器功能,将上述代码写入插件的主PHP文件即可。
注意:上述代码中的
$key和$value需要替换为你原本通过woocommerce_shared_settings过滤器传递的参数键和参数值,和旧写法的传参保持一致即可。
第二个JS报错处理
第二个控制台报错是前端JS依赖弃用导致的,完成PHP层的代码替换后如果该报错仍存在:
- 若筛选器是你自定义开发的,修改对应JS代码,将所有从
@wordpress/data-controls导入select调用的逻辑,替换为从@wordpress/data导入resolveSelect调用即可。 - 若筛选器是第三方插件提供的,升级该插件到适配你当前WooCommerce版本的最新版本即可。
内容的提问来源于stack exchange,提问作者myth
相关产品推荐
相关产品推荐

