你需要把这样的东西放在。必须使用插件文件夹中任何名称的php文件(/wp-content/mu-plugins/
) 所以它在所有插件之前加载,所以你可以用它来过滤插件加载。。。
<?php
if (defined(\'SHORTINIT\') && SHORTINIT) {
add_filter(\'option_active_plugins\', \'shortinit_plugins_filter\');
function shortinit_plugins_filter($plugins) {
$noloadplugins = array(\'w3-total-cache\');
foreach ($plugins as $i => $plugin) {
if (in_array($plugin, $noloadplugins)) {unset($plugins[$i]);}
}
return $plugins;
}
}
或者手动包含您需要的任何函数文件,以使事情正常工作。
UPDATE for Multisite
您需要在多站点上使用不同的过滤器,类似的东西应该可以工作,例如,对于blog ID 2。。。
<?php
if (defined(\'SHORTINIT\') && SHORTINIT) {
add_filter(\'site_option_active_plugins\', \'shortinit_site_plugins_filter\', 10, 3);
function shortinit_site_plugins_filter($plugins, $option, $network_id) {
if ($network_id == 2) {
$noloadplugins = array(\'w3-total-cache\');
foreach ($plugins as $i => $plugin) {
if (in_array($plugin, $noloadplugins)) {unset($plugins[$i]);}
}
}
return $plugins;
}
}
注意:如果要更改站点范围内的激活插件,则需要对网络范围内的激活插件进行进一步过滤,例如:
<?php
if (defined(\'SHORTINIT\') && SHORTINIT) {
add_filter(\'option_active_sitewide_plugins\', \'shortinit_network_plugins_filter\');
function shortinit_network_plugins_filter($plugins) {
if (get_current_blog() == 2) {
$noloadplugins = array(\'w3-total-cache\');
foreach ($plugins as $i => $plugin) {
if (in_array($plugin, $noloadplugins)) {unset($plugins[$i]);}
}
}
return $plugins;
}
}