Bereits seit WordPress 2.1 gibt es ein vermutlich eher unbekanntes Feature, mit dem man bereits bei der Installation eines neuen, nackten WordPress benutzerdefinierte Aktionen ausführen kann. Schlüssel dazu ist eine Datei install.php, welche sich im Verzeichnis wp-content befinden muß. Ist also bei der Installation die Datei wp-content/install.php vorhanden, wird deren Inhalt noch vor den WP-eigenen Installtionsfunktionen geladen und kann damit z.B. die wp_install ersetzen.
Am einfachtesten ist es, sich die gewünschte Funktion aus der Datei wp-admin/include/updrade.php (früher wp-admin/upgrade-functions.php ) zu kopieren, die notwendigen Änderungen vorzunehmen und das dann in wp-content/install.php zu speichern.
Und wofür ist das nun gut?
Ich hatte ja zum Problem WP 2.3 Plugincheck geschrieben, das es bei der Neuinstallation auf Grund des Henne-Ei-Problems normalerweise nicht möglich ist, das Plagin zu aktivieren, ohne mindestens einmal die Pluginseite aufgerufen zu haben und damit bereits die Daten an wordpress.org zu senden. Das ist nun mit so einer benutzerdefinierten install.php möglich.
Download: Benutzerdefinierte install.php (als ZIP)
Diese Datei enthält nichts weiter, als die originale WP-Installationsfunktion, am Ende durch folgende Programmzeilen ergänzt:
// Automatische aktiviere von Plugins oder der my-hacks.php // Plugins $active_plugins = get_option( 'active_plugins' ); $active_plugins[] = 'plw123_anon_vchek.php'; // hier den Plugin-Dateiname eintragen update_option( 'active_plugins', $active_plugins ); // my-hacks.php // update_option( 'hack_file', 1 );
Das mit der my-hacks.php ist auskommentiert, es soll nur das Prinzip veranschaulichen.
Wie sieht nun also eine WordPress 2.3 Neuinstallation aus:
- Wie gewohnt alle WordPressdateien auf den Server übertragen (wp-config.php nicht vergessen)
- zusätzlich das Plugin in das Pluginverzeichnis kopieren
- zusätzlich die benutzerdefinierte install.php in das Verzeichnis wp-content kopieren
- WordPressinstallation wie gewohnt starten
Fertig!
Viel Spaß mit dem anonymisierten, neuen WordPress 2.3 :-)
Nachtrag: Hannes hat auch ein Plugin geschrieben, welches zusätzlich noch die Pluginliste entschlackt. Sein Plugin kann man natürlich auch mit der beschriebenen Methode gleich bei der Installation aktivieren. Dazu muß einfach nur der Name geändert werden, also an Stelle von:
$active_plugins[] = 'plw123_anon_vchek.php'; // hier den Plugin-Dateiname eintragen
entsprechend
$active_plugins[] = 'anonymous-plugin-updates.php'; // hier den Plugin-Dateiname eintragen
Und es muß auch in das Pluginverzeichnis kopiert werden, das ist ja klar.
[…] Die Datei wp-content/install.php anlegen und entsprechend anpassen (Anleitung) […]
[…] create the file wp-content/install.php and modify it to automatically activate the plugin on installation/upgrade (German Instructions) […]