好的,我知道以前有人问过这个问题,但我想知道我能做到这一点的最有效和最干净的方法。
我所拥有的是通过serverpilot自动提供的,它在digital ocean服务器上为客户端安装WordPress
我遇到的问题是:
我想激活一个插件,在客户端第一次使用WordPress时帮助他。我遇到的问题是,一旦脚本将文件添加到插件目录,我就无法让脚本访问他们的DB来激活插件。我想通过PHP激活插件。到目前为止,这个解决方案看起来不错,但我想知道这是否是激活我正在放入插件目录的插件的最简单和最干净的方法
function MY_toggle_plugins() {
include_once( ABSPATH . \'wp-admin/includes/plugin.php\' );
$temp_files1 = glob(WP_PLUGIN_DIR.\'/*\');
$activated=array();
$already_active=array();
foreach($temp_files1 as $file1){
if(is_dir($file1)) {
$temp_files2 = glob($file1 . \'/*\');
foreach($temp_files2 as $file2){
if(is_file($file2) && stripos(file_get_contents($file2),\'Plugin Name:\')!==false) {
$plugin_name_full=basename(dirname($file2)).\'/\'.basename($file2);
if(is_plugin_active($plugin_name_full)) {
array_push($already_active, $plugin_name_full);
//deactivate_plugins($plugin_name_full);
}
else{
array_push($activated, $plugin_name_full);
//activate_plugin($plugin_name_full);
}
}
}
}
}
echo \'You have activated these plugins:<br/><br/>\'.serialize($activated).\'<br/><br/>These were already active:<br/><br/>\'.serialize($already_active); exit;
}
//execute
MY_toggle_plugins();