选择性地禁止在Wordpress管理区域中加载插件

时间:2013-02-06 20:22:20

标签: performance wordpress plugins admin

有人知道如何禁止在Wordpress的后端/管理区域加载某些插件吗?

目前我正在运行一个有很多插件的网站,主要面向前端操作,但是当我访问后端的页面时(例如/wp-admin/edit.php)所有 CSS ,正在为那里不需要的插件加载JS和插件文件,从而增加了管理区域的加载时间和响应能力。

我正在寻找一个解决方案,基于代码的插件可以选择性地加载管理员插件,理想情况下无需破解核心文件。

我正在使用wordpress 3.5.1。

1 个答案:

答案 0 :(得分:4)

结帐Plugin Organizer。我没有使用它,但根据它的描述,你可以“通过任何帖子类型或wordpress托管URL选择性地禁用插件”。我猜你可以禁用某些插件在包含/wp-admin/的网址上运行。

您也可以自行修改插件。这取决于它们的编写方式,但您可以找到它们将css和js文件排入队列的位置,并将它们包含在is_admin()语句中,如下所示:

// Make sure we aren't in the admin area
if ( !is_admin() ) {
    wp_enqueue_script('plugin-script');
    wp_enqueue_style('plugin-style');
}

这将确保脚本/样式仅加载在前端。

另一种可能性是找到通过插件加载的所有css和脚本文件,并在functions.php文件中取消注册。这将需要您稍微查看插件以找到所有文件的句柄,但它应该可以正常工作。这将取消注册管理区域中排队的一些默认内容,因此您可以看到我的意思。

add_action( 'admin_init', 'remove_admin_styles' );

function remove_admin_styles() {
    wp_deregister_style(
        'wp-admin',
        'ie',
        'colors',
        'colors-fresh',
        'colors-classic',
        'media',
        'install',
        'thickbox'
    );
}

正如你所说,你不想搞乱核心文件,但如果你绝对需要,你可以实现this article中描述的解决方案。我相信你知道,改变WordPress核心文件并不是一个好主意,除非你绝对必须这样做。请记住,如果将来升级WordPress,更改将会被删除。