如何在WordPress后台/产品编辑页禁用指定插件
解决方案:在WooCommerce产品编辑后台禁用指定插件
我来帮你调整代码,精准实现仅在后台编辑WooCommerce产品页面时禁用特定插件的需求,这样就能针对性减少资源占用,提升编辑页面的加载速度了。
核心思路
原代码是在前台和非后台页面禁用插件,我们需要反过来:
- 先判断是否处于WordPress后台
- 再精准识别当前页面是否是WooCommerce产品的编辑/新建页面
- 最后在符合条件的页面移除指定插件的加载
修改后的代码
add_filter( 'option_active_plugins', 'lg_disable_specific_plugins_on_product_edit' ); function lg_disable_specific_plugins_on_product_edit( $plugins ) { // 仅在后台执行逻辑 if ( is_admin() ) { // 获取当前后台页面的屏幕信息 $current_screen = get_current_screen(); // 验证是否是WooCommerce产品的编辑/新建页面 // post_type为product,base为post表示是单篇内容编辑页(包括新建) if ( $current_screen && $current_screen->post_type === 'product' && $current_screen->base === 'post' ) { // 定义要禁用的插件列表,格式为「插件文件夹名/主PHP文件名」 $target_plugins = array( 'cart66/cart66.php', // 替换成你需要禁用的插件路径 // 可以添加更多插件,比如 'some-other-plugin/some-other-plugin.php' ); // 循环移除列表中的插件 foreach ( $target_plugins as $plugin_path ) { $plugin_key = array_search( $plugin_path, $plugins ); if ( false !== $plugin_key ) { unset( $plugins[$plugin_key] ); } } } } return $plugins; }
关键细节说明
is_admin():确保代码只在WordPress后台生效,不会影响前台页面get_current_screen():WordPress提供的获取当前页面上下文的函数,能精准定位到产品编辑页$target_plugins数组:你可以在这里添加多个需要禁用的插件,每个插件的路径就是其在wp-content/plugins/下的主文件路径(比如某个插件文件夹叫abc-plugin,主文件是abc-plugin.php,那路径就是abc-plugin/abc-plugin.php)- 注意:不要禁用WooCommerce本身,否则产品编辑页会直接无法正常工作
使用方法
- 把这段代码添加到你的主题
functions.php文件末尾,或者使用专门的自定义代码插件(比如Code Snippets)来添加,避免主题更新丢失代码 - 替换
$target_plugins里的示例插件路径为你实际要禁用的插件路径 - 测试:进入后台编辑或新建产品页面,检查资源占用是否下降,同时确认其他后台页面和前台店铺功能不受影响
内容的提问来源于stack exchange,提问作者ziemo
相关产品推荐
相关产品推荐

