WordPress speichert die aktiven Plugins in der Datenbank, Tabelle options
, Feld activate_plugins
; damit ist es ein leichtes diesen Wert zu verändern und so kann man sauber diverse Plugins von WordPress aktivieren lassen; sei es als Plugin-Lösung nach dem Einrichten einer neuen Installation oder weil eigene Plugins einge andere Plugins brauchen.
Im folgenden eine kleine Beispiel-Lösung, die die Ansätze liefert. Dabei ist wichtig, dass nicht die Plugin-Namen genutzt werden, sondern der String der Datei; der auch in diversen Hooks benötigt wird. Im Anschluss eine einfache Lösung um an diesen String im Backend zu kommen, nicht in die Funktion integriert und rein eine schnelle Hilfe; aber mehr soll der Beitrag auch nicht sein – Copy & Paste ja, aber bedacht.
// only example; control about register_activation_hook()
add_action( 'admin_init', 'fb_activate_plugins' );
function fb_activate_plugins() {
if ( ! current_user_can('activate_plugins') )
wp_die(__('You do not have sufficient permissions to activate plugins for this site.'));
$plugins = FALSE;
$plugins = get_option('active_plugins'); // get active plugins
if ( $plugins ) {
// plugins to active
$pugins_to_active = array(
'hello.php', // Hello Dolly
'adminimize/adminimize.php', // Adminimize
'akismet/akismet.php' // Akismet
);
foreach ( $pugins_to_active as $plugin ) {
if ( ! in_array( $plugin, $plugins ) ) {
array_push( $plugins, $plugin );
update_option( 'active_plugins', $plugins );
}
}
} // end if $plugins
}
Die nachstehende Funktion und dessen Hook sorgen für eine direkte Ausgabe auf der Plugin-Seite im Backend des Strings zur Plugin-Datei, also bitte nur zum schnellen Finden nutzen.
add_filter( 'plugin_row_meta', 'fb_get_plugin_string' , 10, 4 );
function fb_get_plugin_string( $plugin_meta, $plugin_file, $plugin_data, $status ) {
// echo plugin file string
echo '<code>' . $plugin_file . '</code><br>';
return $plugin_meta;
}