有选择地禁用插件加载到 Wordpress 管理区域

Pau*_*son 2 wordpress performance plugins admin

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

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

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

我正在使用 wordpress 3.5.1。

dpc*_*ady 5

结帐插件管理器。我没有使用过它,但根据它的描述,您可以“通过任何帖子类型或 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');
}
Run Code Online (Sandbox Code Playgroud)

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

另一种可能性是找到所有通过插件加载的 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'
    );
}
Run Code Online (Sandbox Code Playgroud)

至于你说的,你不想与核心文件的一塌糊涂,但如果你确实需要,你可以实现的解决方案中描述的这篇文章。我相信您知道,除非绝对必要,否则更改 WordPress 核心文件并不是一个好主意。请记住,如果您将来升级 WordPress,这些更改将被清除。