WP CLI
WordPress fra command line
Hvem er jeg?
- Patrick Hesselberg
- Uddannet multimedie-integrator
- Arbejder hos Peytz & Co
- Backend/plugin udvikler
- "Theme" udvikler
- WP core contributer
- WP CLI contributer
- ... Og andre WP open source projekter
Command line & WP CLI
- Hvem har før brugt command line?
- Hvem bruger command line?
- Hvem kender til WP CLI?
- Hvem har brugt WP CLI?
- Hvem bruger command line til dagligt?
Min introduktion til command line
Spil
cd C:/games/jazz
Hos Peytz & Co
Fra FTP/Filezilla til Csv/Git
Drush
Ubuntu servere
Udnyt terminal = mere effektiv
Manuel opsætning af projekter
- Opret git repo
- Hent WordPress core
- Hent dependencies
- Hent base filer
- Hent base tema
Opsætning af projekter via. commands
Dokument over commands der skulle til at oprette et projekt
Shell scripting
Commands via. shell script
- Hvilket locale af WP core?
- Hent base theme?
- Hent base files?
- Vælg git repo
Shell scripting med WP CLI
WP CLI tog sig af WP...
... Vi skulle bare fortælle hvad den skulle gøre
pco-setup.conf
Nyt projekt = pco-setup.conf
Stil spørgsmålene fra starten af
Nyt projekt 1 time -> 5 minutter
Hvad er WP CLI?
WP CLI er et command line værktøj, som gør det muligt at administrere WordPress
Bruger WordPress til at undføre commands
Men det kan jeg da bare bruge WordPress til...
Scripts, cronjobs
wp plugin update --all
Hvad kræver det?
- SSH/Shell adgang til serveren
- PHP 5.3
- WordPress 3.5.2
- Linux er foretrukket
Hvordan får jeg det?
- Hent phar (PHP Archive)
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
- Se om den virker:
- php wp-cli.phar --info
- Gør den eksekverbar
- chmod +x wp-cli.phar
Global install
sudo mv wp-cli.phar /usr/local/bin/wp
wp-cli.yml
- --path
- --url
Inspiration
Ikke mange en god idé - men en fælles værktøjskasse af mange gode idéer
- Drush (drupal)
- wpshell
- Regenerate Thumbnails
- Search-Replace-DB
- WP-cli-exporter
- WP-cli-importer
- wordpress-plugin-tests
Commands
wp db
create
- Opret databasen ud fra wp-config
reset
- Fjern alle tabeller fra databasen
import/export
- Sql export/import
wp core
download
- Download WP core
config
- Opret wp-config.php
install
- Installér i databasen
multisite-convert
- Konvertér til multisite
update(-db)
- Opdatér WP (-db opdaterer db)
wp plugin
(de)activate
- (de)aktivér plugin
install
- Installer plugin(s)
list
- Liste over alle plugins (navn, version, aktiveret)
wp rewrite
flush
- Flush rewrite rules
structure
- Opdater rewrite permalinks
wp cron
event list
- Liste over alle cronjobs og hvornår de skal udføres
event run
- Kør et cronjobs cb funktion
wp ...
media regenerate
- Regenerate thumbnails
post/term generate
- Generér posts/terms
search-replace
- Search replace bl.a. URL. --recurse-objects til serialized arrays
Eksempler
Efter en stor import
Importerede 3000 posts. Test import igen...
wp post delete $(wp post list --post_type='cpt' --format=ids)
- Slet alle der har post type cpt
Nyt site, nye passwords
Efter det nye site er lanceret skal alle brugere have et nyt password. Send mail til alle brugere.
wp user list --role=editor --fields=user_email --format=count
- Hvor mange?
wp user list --role=editor --fields=user_email --format=csv
- Lav en eksport af alle deres emails
Site hack, ingen users tabel
Efter en kundens site blev hacket blev han bedt om at rydde op i users tabellen...
... Så han tømte den
wp user create phh phh@peytz.dk --role=administrator --user_pass=phh
Success: Created user 32.
- Opret en ny admin bruger
wp super-admin add 32
Success: Granted super-admin capabilities.
- Giv den nye bruger super admin rettigheder
Hvad kan WP CLI ikke?
WP CLI add command
WP CLI gør det muligt selv at bruge frameworket og tilføje commands
Packages
- packages:
- buddypress
- polylang
- wp remote
WP CLI
By Patrick Holberg Hesselberg
WP CLI
- 1,367