从前台或特定页面取消注册插件?

时间:2016-10-18 作者:Ivan Topić

是否有可能阻止插件加载到通用前端或特定页面上,就像我们可以取消脚本和样式的注册一样?插件不是我的,我只需要在管理仪表板中使用它们。使用查询监视器检查网站时,我注意到他们会执行其他类似的无用查询

SELECT option_value
FROM nk_options
WHERE option_name = \'wp-smush-resize\'
LIMIT 1

SELECT option_value
FROM nk_options
WHERE option_name = \'wp-smush-resize_sizes\'
LIMIT 1
我看不出这有什么意义。在这个例子中,插件是WP-Smush,它只在图像上传到后端时优化图像。但有一些更像WP/LR Sync和其他,它们与前端无关。。。我可以在我的主题文件或Wordpress中做些什么来阻止他们进行额外的数据库查询吗?

1 个回复
最合适的回答,由SO网友:CodeMascot 整理而成

更换/your-page-slug/ 在您想要禁用插件的页面上plugin-folder/plugin-main-file.php 是插件目录和插件主文件名.php 扩大

add_filter( \'option_active_plugins\', \'the_dramatist_disable_plugin_on_certain_page\' );

function the_dramatist_disable_plugin_on_certain_page($plugins){

    if(strpos($_SERVER[\'REQUEST_URI\'], \'/your-page-slug/\') === FALSE && strpos($_SERVER[\'REQUEST_URI\'], \'/wp-admin/\') === FALSE) {
        $key = array_search( \'plugin-folder/plugin-main-file.php\' , $plugins );
        if ( false !== $key ) unset( $plugins[$key] );
    }

    return $plugins;
}
希望这段代码对您有所帮助。