WP-CLI - Das Kommandozeilen Interface für Wordpress
1. WP-CLI - Ein Kommandozeilen Interface
für WordPress
23.10.2013 Frank Staude <frank@staude.net>
2. WP-CLI ?
WP-CLI ( WordPress - Command Line Interface) ist ein Programm, mit dem man
Wordpress per Kommandozeile bedienen kann.
!
Warum braucht man das?
- Admins sind gewohnt mit der Tastatur zu arbeiten
- Mit der Tastatur ist man in der Regel schneller als in einem Webinterface
- Mit Kommandos kann man Aufgaben automatisieren
3. Voraussetzungen
Um WP-CLI zu installieren braucht es ein paar Dinge
!
- Unix shell. ( OS X, Linux, Windows mit Cygwin)
- PHP 5.3 oder neuer
- php-cli im PHP aktiviert (php -v / phpinfo zum prüfen)
- Git
- Wordpress 3.4 oder neuer
!
4. Installation
Ein Installationsscript kann direkt von GitHub geladen und ausgeführt werden.
!
curl https://raw.github.com/wp-cli/wp-cli.github.com/master/installer.sh | bash
!
Das installiert WP-CLI im Verzeichnis .wp-cli im Benutzerverzeichnis.
Damit es von überall gefunden wird, sollte man danach noch das bin Verzeichnis von
wp-cli mit im Pfad seiner Shell aufnehmen. Eine Entsprechende Meldung gibt der
Installer aus.
!
MySQL muss im Pfad liegen, sonst scheitert wp core config
!
Alternative Installationsmethoden: https://github.com/wp-cli/wp-cli/wiki/AlternativeInstall-Methods
6. Mehr Komfort
WP-CLI bietet auch s.g. Tab completion, also die Funktionalität bei drücken der
Tabulator Taste das Kommando zu vervollständigen oder (wenn nicht eindeutig) die
Liste der Kommandos auszugeben.
!
Dazu muss man seine .profile Datei ergänzen um
!
source $HOME/.wp-cli/vendor/wp-cli/wp-cli/utils/wp-completion.bash
!
!
35. Beispiele: WP Version
Entweder man wechselt in das Verzeichnis der jeweiligen Wordpress
Installation
!
staude$ cd Wordpress Dev/!
staude$ wp core version!
3.6.1!
!
oder man übergibt den Pfad mittels --path=‘pfad/zur/WP/Installation‘
!
staude$ wp core version --path='/Users/staude/
Projekte/Wordpress Dev'!
3.6.1!
38. Beispiele: Plugin installieren
staude$ wp plugin install hello-dolly!
Installing Hello Dolly (1.6)!
Runterladen des Installationspakets von http://downloads.wordpress.org/plugin/hellodolly.1.6.zip...!
Entpacken des Pakets...!
Das Plugin wird installiert...!
Das Plugin wurde erfolgreich installiert.!
41. Plugin + WP-CLI
Plugins können ebenfalls das WP-CLI Interface implementieren und können dann ebenfalls perKomandozeile bedient werden.
Zum Beispiel das Plugin Developer ( http://wordpress.org/plugins/developer ).
!
staude$ wp plugin install developer!
Installing Developer (1.2.5)!
Runterladen des Installationspakets von http://downloads.wordpress.org/plugin/
developer.1.2.5.zip...!
Entpacken des Pakets...!
Das Plugin wird installiert...!
Das Plugin wurde erfolgreich installiert.!
!
staude$ wp plugin activate developer!
Success: Plugin 'developer' activated.!
!
!
staude$ wp developer!
usage: wp developer install-plugins --type=<type> [--activate]!
!
See 'wp help developer <subcommand>' for more information on a specific subcommand.!
42. Eigenes Plugin + WP-CLI
Am Beispiel meines Plugins scheduled-unsticky ( http://wordpress.org/plugins/scheduled-unsticky/ )
demonstriere ich die Arbeiten um ein Plugin per WP-CLI steuerbar zu machen.
!
Abfragen des WP-CLI defines im Constructor und ggf laden einer Klasse die das CLI Interface
implementiert.
!
if ( defined ( 'WP_CLI' ) && WP_CLI ) {!
require_once( __DIR__ . '/class-wp-cli-commands.php' );!
}