有人知道如何禁用某些插件在 Wordpress 的后端/管理区域中加载吗?
目前,我正在运行一个站点,其中包含许多主要面向前端操作的插件,但是当我访问后端页面(即 /wp-admin/edit.php)时,所有CSS、JS 和插件文件都在为插件加载那里不需要,从而增加了管理区域的加载时间和响应能力。
我正在寻找一种解决方案,无论是基于代码的插件,都可以选择性地加载仅管理员插件,理想情况下无需破解核心文件。
我正在使用 wordpress 3.5.1。
有人知道如何禁用某些插件在 Wordpress 的后端/管理区域中加载吗?
目前,我正在运行一个站点,其中包含许多主要面向前端操作的插件,但是当我访问后端页面(即 /wp-admin/edit.php)时,所有CSS、JS 和插件文件都在为插件加载那里不需要,从而增加了管理区域的加载时间和响应能力。
我正在寻找一种解决方案,无论是基于代码的插件,都可以选择性地加载仅管理员插件,理想情况下无需破解核心文件。
我正在使用 wordpress 3.5.1。
结帐插件管理器。我没有使用它,但根据它的描述,您可以“通过任何帖子类型或 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'
);
}
正如您所说,您不想弄乱核心文件,但如果您绝对需要,您可以实施本文中描述的解决方案。我相信您知道,除非绝对必要,否则更改 WordPress 核心文件不是一个好主意。请记住,如果您将来升级 WordPress,这些更改将会消失。