WP-CLI v2-Administrere WordPress Fra Terminalen

For Det meste Av livet Har WordPress blitt bygget ved hjelp av en enkel kodebase med et dash av objektorientert PHP som det mest abstrakte systemet. I de siste årene har dette imidlertid endret seg til det bedre. Fra enhetstesting TIL CSS forbehandling og kommandolinjeverktøy, er flere og flere utviklervennlige eiendeler dukker opp. I denne artikkelen ser vi på EN av mine favoritter: WP-CLI.

Hva ER WP-CLI?

WP-CLI ER et kommandolinjeverktøy for utviklere å administrere vanlige oppgaver (og ikke så vanlige) Av En WordPress-installasjon. Det kan legge til / fjerne brukere, innlegg, kategorier, sett inn testdata, søk og erstatt i databasen, tilbakestill passord, hjelp feilsøke ytelsesproblemer og mye mer!

Støtte

WP-CLI har vært en åpen kildekode-prosjekt i over et tiår, blir vedlikeholdt primært Av Daniel Bachhuber siden 2003. Det primære målet MED WP-CLI er å bidra til å øke Hastigheten På WordPress utviklerens arbeidsflyt.

gjennom årene prosjektet har dukket opp i så mye mer! Det blir nå til og med et krav til andre åpen kildekode-prosjekter som Trellis og Bedrock. Fra januar 2017 flyttet WP-CLI offisielt til WordPress.org Og er også nå blir co-vedlikeholdt Av Alain Schlesser.

WP-CLI v2 ble utgitt 8. August 2018, så vi vil også utforske noen av endringene og nye funksjoner. HVIS DU Er En Kinsta klient, WP-CLI v2. 0.1 er installert som standard på alle våre servere, BARE SSH til serveren din for å komme i gang. SSH-tilgang er inkludert i alle våre hostingplaner (Kan ikke koble til VIA SSH? Løs SSH» Tilkobling Nektet » feil).

  • Få WP-CLI
  • Grunnleggende OM WP-CLI
  • Wp-Cli-Kommandoer generelt
  • Nyttige Eksempler
  • Bruke Wp-CLI Eksternt
  • Bruke Bash-Skript

få wp-cli

minste php-krav på wp-cli v2.0.0 Har BLITT BUMPED OPP TIL PHP 5.4. Selv om DETTE er et godt skritt fremover, anbefaler vi at du i det minste kjører en støttet VERSJON AV PHP, noe som betyr 5.6 eller høyere. PHP 7.2 er standard på Alle Kinsta-installasjoner, både av sikkerhets-og ytelsesårsaker. VI har OGSÅ PHP 7.3 og 7.4 tilgjengelig.

for å komme i gang må du installere WP-CLI – en veldig enkel prosess. Trinnene For Linux OG OSX er følgende, utsted disse tre kommandoene etter hverandre:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.pharchmod +x wp-cli.pharsudo mv wp-cli.phar /usr/local/bin/wp

hvis noe går galt eller Du Er På Windows, se de grunnleggende instruksjonene eller de alternative installasjonsmetodene.

når du er ferdig, bør du kunne utstede kommandoen wp --info og få et meningsfylt svar.

prosessen er den samme hvis DU vil installere WP-CLI på serveren din. Husk At FOR Kinsta-klienter ER WP-CLI allerede installert. Ikke sikker på hvilken versjon du kjører for øyeblikket? Du kan alltid utstede kommandoen wp cli version for å finne ut.

Grunnleggende OM WP-CLI

å ha tilgang Til WordPress fra kommandolinjen er kraftig i seg selv, men kan gi deg enda mer kontroll og hastighetsgevinster når du bruker bash-skript.

Bash-skript lar deg kjøre en sekvens av kommandoer med en enkelt kommando. Du kan skrive bash install-and-setup.sh og få følgende resultat:

  • Last Ned WordPress
  • Opprett og fyll ut wp-config.php
  • Opprett databasen
  • Installer WordPress
  • Installer og aktiver eventuelle plugins du trenger
  • Installer og aktiver et tema
  • Last ned og legg til testinnhold

disse ville være Trinn Jeg Ville Ta For Å Skape Et Nytt Testmiljø For Et Prosjekt. Normalt vil det ta meg 5-10 minutter minst, spesielt hvis det er noen plugins involvert. Utstedelse av en enkelt kommando er åpenbart mye raskere.

Wp-Cli Kommandoer Generelt

hvis DU er vant til å jobbe i terminalen, er DET ikke noe spesielt MED WP-CLI for DEG. Kommandoer starter alltid med wp etterfulgt av en kommando og underkommando, etterfulgt av nødvendige og valgfrie parametere, noe som dette:

wp command subcommand requiredparam --optionalparam --optionalparam2=value

la oss installere et tema for å se hvordan dette fungerer med en ekte kommando:

wp theme install twentyseventeen --activate

dette vil installere Og aktivere Twenty Seventeen tema På WordPress installasjon.

Merk AT WP-CLI vil fungere Med WordPress-installasjonen du er i terminalen. Hvis du bytter kataloger for å gå til en Annen WordPress-installasjon, vil den fungere med den.

Nyttige Eksempler

DET var WP-CLI i et nøtteskall! Mens det er noen avanserte ting du kan gjøre, som vi kommer til om et øyeblikk, vet du allerede nok til å komme i gang og gjøre hva du trenger. Jeg anbefaler å ta en titt på kommandolisten, prøv noen av dem ut. Vi tar en titt på noen nyttige ting her, så fortsett å bruke WP-CLI over SSH og bruke bash-skript.

Installere WordPress

JEG bruker WP-CLI mye for å sette opp testmiljøer, det første trinnet er en vaniljeinstallasjon. Her er en liste over kommandoer jeg kjører:

wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

Legg merke til hvor kult dette er! Den nyeste Versjonen Av WordPress lastes ned ved hjelp av den første kommandoen. Den andre kommandoen setter opp config-filen med databasetilgang og noen ekstra PHP på slutten. De ekstra konstantene sørger for at vi har våre feilsøkingsalternativer for testing. Vi har en detaljert guide her hvis du vil lære mer Om feilsøking Av WordPress.

den tredje kommandoen oppretter databasen (WP-CLI bruker databasetilgangsinformasjonen fra config-filen) og til slutt installerer Vi WordPress ved hjelp av Et par parametere.

Installer WordPress Core

Du kan også installere WordPress core på NYTT VED HJELP AV WP-CLI. Følgende kommando ville laste Ned WordPress kjerne uten standard temaer og plugins.

wp core download --skip-content --force

Endre WordPress URL

det er mange grunner til at Du kanskje trenger Eller vil endre WordPress URL. Kanskje du endrer domener, flytter til et underdomene, oppdaterer fra www til ikke-www, flytter filer rundt, eller til og med migrerer FRA HTTP til HTTPS. Uansett hva som er tilfelle, kan du enkelt bruke kommandoen wp option update for dette. Her er et eksempel nedenfor:

wp option update home 'http://example.com'wp option update siteurl 'http://example.com'

Liste Over Nåværende Plugins Med Detaljer

for å få en liste over nåværende plugins installert på et nettsted, bruk bare følgende kommando. I dette eksemplet kan du se At Vi har Skjemaet Og Yoast SEO plugin installert. Det vil også returnere status (aktiv / deaktivert), hvis det er en oppdatering tilgjengelig, og den gjeldende versjonen.

wp plugin list
WP-CLI plugin list

WP-CLI plugin list

Installere Flere Plugins

for å installere flere plugins kan du bare haug på parametere. Her er et eksempel som laster ned og aktiverer 3 plugins:

wp plugin install advanced-custom-fields jetpack ninja-forms --activate

Merk at plugin navnene kommer fra deres navn i depotet. Den enkleste måten å finne ut av dette er å besøke siden deres og se PÅ NETTADRESSEN eller å bruke wp plugin search searchterm som vil gi deg en liste i terminalen.

WordPress plugin repository URL

WordPress plugin repository URL

du kan også installere eldre versjoner Av WordPress plugins om nødvendig med --version attributtet.

wp plugin install wordpress-seo --version=4.8 --activate

enda kulere, du kan installere plugins fra eksterne filer, ikke bare depotet som er praktisk hvis du utvikler en plugin, eller bruker en premium plugin. Følgende kommando installerer to plugins fra depotet og en Fra En Amazon S3-server.

wp plugin install advanced-custom-fields jetpack https://d1qas1txbec8n.cloudfront.net/wp-content/uploads/2015/06/23073607/myplugin.zip --activate

Deaktiver Flere Plugins

for å deaktivere en enkelt plugin kan du kjøre følgende kommando.

wp plugin deactivate wordpress-seo

for å deaktivere alle pluginene dine på en gang, kjør følgende kommando.

wp plugin deactivate --all
wp-CLI deaktiver alle plugins

WP-CLI deaktiver alle plugins

denne kommandoen ovenfor kan være nyttig hvis du feilsøker kompatibilitetsproblemer og bare trenger å deaktivere alle pluginene i ett fall. Du kan deretter gå tilbake og aktivere dem en etter en, testing mens du går.

Oppdater Plugins

du kan også manuelt oppdatere WordPress plugins. Eksempel nedenfor:

wp plugin update wordpress-seo
wp - cli manuelt oppdatere wordpress plugin

wp-CLI manuelt oppdatere WordPress plugin

Database Søk Og Erstatt

En av hovedgrunnene til at det er vanskelig å migrere et nettsted ved å bare kopiere og lime inn en database er at databasen inneholder serialiserte arrays. Hvis du trenger å erstatte alle forekomster av http://testsite.com med http://livewebsite.com, gir ikke serialiserte arrayer mening fordi strengantallet ikke stemmer overens.

Meld deg På Nyhetsbrevet

vi vokste vår trafikk 1,187% Med WordPress. Vi viser deg hvordan.

Bli med 20,000 + andre som får vårt ukentlige nyhetsbrev med insider WordPress tips!

Abonner Nå

kommandoen search-replace unserializes arrays først, deretter utfører søk og erstatt, deretter re-serializes arrays. Du kan få dette gjort med en enkel kommando:

wp search-replace oldstring newstring

Ytterligere parametere lar deg gjøre mye mer, inkludert forhåndsvisning hva som skal erstattes ved å bruke --dry-run.

Import Og Eksport

det er to måter å eksportere innhold MED WP-CLI. Du kan opprette EN XML-fil, akkurat Som WordPress export tool gjør, eller du kan eksportere / importere raw-databasen. Jeg finner den senere mye mer nyttig i min daglige rutine, det kommer til nytte når du synkroniserer nettsteder.

wp db export er alt du trenger å gjøre for å opprette EN SQL-fil og wp db import file.sql er alt du trenger for å importere den. Fungerer som en sjarm, bare vær forsiktig så du ikke overskriver alt du trenger, import vil i utgangspunktet dumpe den eksisterende databasen og bruke den medfølgende SQL-filen i stedet.

Administrer Roller og Evner

WP-CLI kan administrere roller for deg ganske enkelt ved hjelp av kommandoen wp role. Dette er ganske kult hvis du vil teste hvordan plugin fungerer med tilpassede roller, men du lager faktisk ikke rollene i pluginet ditt.

wp role create organizer Organizerwp cap list 'editor' | xargs wp cap add 'organizer'wp cap add 'organizer' 'manage-events'

kommandoene ovenfor vil opprette en ny rolle( Arrangør), legge til alle funksjoner fra redigeringsrollen til den og deretter legge til en ny funksjon: administrer-hendelser.

Generer Testdata

jeg elsker alle slags faker-lignende funksjoner-de som legger dummy innhold til nettstedet ditt som du kan bruke til tester. WP-CLI har et par av disse innebygd, her er noen funksjoner som vil generere brukere, vilkår og innlegg.

wp user generate --count=5 --role=editorwp user generate --count=10 --role=authorwp term generate --count=12wp post generate --count=50

Administrer Wp-Cron-Hendelser

du kan administrere wp-Cron-hendelser og Eller En WordPress Cron-jobb I WP-CLI. For eksempel vil følgende kommando gi deg din nåværende cron-hendelsesliste.

wp cron event list
wp-cron hendelsesliste

wp-cron hendelsesliste

Slett Transienter

du kan til og med slette og tømme ut en eller alle transienter ved hjelp av følgende kommando.

wp transient delete --all

hvis du kjører multisite, trenger du litt mer komplisert kommando. Som standard kontrollerer kommandoen bare wp_options – tabellen. Det sjekker ikke for wp_1_options, wp_2_options, etc.

Sliter med nedetid og WordPress problemer? Kinsta er hosting løsning designet for å spare deg tid! Sjekk ut våre funksjoner

wp transient delete --all --network && wp site list --field=url | xargs -n1 -I % wp --url=% transient delete --all

Rydd Opp Wp_options Tabell

wp_options tabellen kan være en vanlig skyldige for treg spørring ganger på nettstedet ditt på grunn av autoloaded data som er igjen fra tredjeparts plugins og temaer. Sjekk ut DENNE flotte artikkelen FRA WP Bullet om HVORDAN DU bruker WP-CLI til å rydde opp wp_options-tabellen.

Slett WordPress Revisjoner

På store nettsteder Kan WordPress revisjoner legge opp veldig raskt til tusenvis av rader i databasen din som ikke er nødvendig. Du kan slette innlegg revisjoner MED WP-CLI. Her er et eksempel på kommandoen:

$ wp post delete $(wp post list --post_type='revision' --format=ids)
wp-cli slett wordpress revisjoner

wp-CLI slett WordPress revisjoner

Kontroll Vedlikeholdsmodus

Fra WP-CLI v2. 2. 0 kan du nå kontrollere vedlikeholdsmodus på WordPress-siden din. Eksempel:

wp maintenance-mode activatewp maintenance-mode deactivatewp maintenance-mode status

Indeksering Av Data Med Elasticsearch

Elasticsearch er en åpen kildekode fulltekstsøkemotor. Den brukes til å indeksere data og søke disse dataene utrolig raskt. Vi tilbyr Dette som et tillegg For Kinsta-klienter. Du kan bruke ElasticPress wp-CLI kommandoer for å utføre indeksering OVER SSH. Eksempel:

wp elasticpress index

Arbeide med Flerspråklige Nettsteder

WP-CLI v2. 0. 0 inneholder en ny familie med kommandoer wp i18n for de av dere som arbeider med flerspråklige nettsteder. For eksempel kan du opprette EN POT-fil for Et WordPress-plugin eller tema.

wp i18n make-pot <source> ] 

Se i18n-kommandodokumentasjon.

Bruke WP-CLI Med WooCommerce

Arbeide med e-handelsnettsteder? Vi anbefaler at Du sjekker Robot Ninjas fantastiske wp-CLI WooCommerce utviklingsguide for raske og enkle kommandoer du kan bruke. Å generere en liste over kunder, ordrer og til og med lage bulkprodukter er alle mulige MED WP-CLI.

Bruke Wp-CLI Eksternt

en av de beste tingene du kan gjøre MED WP-CLI, er å administrere dine eksterne WordPress-installasjoner. Dette er virkelig en website manager drøm.

for å sømløst kjøre wp-CLI-kommandoer på en ekstern server via SSH, trengte du tidligere wp-cli-ssh addon-kommandoen. Men fra v0.24.0 er dette nå en del AV WP-CLI selv! 👏

Viktig: DU trenger wp-CLI installert både på datamaskinen du kjører kommandoen fra og serveren din.

Konfigurere Eksterne Servere

du kan konfigurere serverne globalt eller lokalt. For å konfigurere dem globalt, bruk filen config.yml. Du kan også bruke filene wp-cli.yml eller wp-cli.local.yml i din nåværende arbeidskatalog.

konfigurasjonen av servere fungerer noe som dette, lim inn dette i en av de nevnte filene:

ssh: staging: cmd: ssh %pseudotty% %cmd% url: http://myseite.com path: /www/path/to/site/root

Når alt dette er gjort, kan du skrive inn følgende kommando for å oppdatere WordPress på ditt eksterne nettsted:

wp ssh core update --host=staging

hvis du eier eller administrerer mange nettsteder, tror jeg du kan se at dette er fantastisk! Skriptet vil be om et passord, men hvis DU bruker RSA-nøkler til å logge inn, kan du også avstå det. Ta en titt på denne artikkelen for å sette det opp.

Bruke Bash-Skript

Bash-skript sparer deg enda mer tid ved å automatisere oppgaver. Husk hvordan vi trengte å skrive mange kommandoer for å installere WordPress? Du kan gjøre det med et enkelt bash-skript. Inne i en katalog opprett en install.sh fil. Lim inn den samme koden vi hadde før inne og lagre den.

wp core downloadwp core config --dbname=mydbname --dbuser=mydbuser --dbpass=mydbpass --dbhost=localhost --dbprefix=whebfubwef_ --extra-php <<PHPdefine( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );PHPwp db createwp core install --url=http://siteurl.com --title=SiteTitle --admin_user=username --admin_password=mypassword 

alt du trenger å gjøre nå er å skrive bash install.sh og alt vil bli gjort for deg, uten brukerintervensjon. Hvis du klarer mange nettsteder, kan du sette opp alle dine miljøer og lage et bash-skript som dette:

wp ssh core update --host=clientAwp ssh core update --host=clientBwp ssh core update --host=clientCwp ssh core update --host=clientD

Når En Ny WordPress-versjon kommer ut, kan dette spare deg for mye tid! Siden DU kan gjøre alt du vil MED WP-CLI, kan DU til og med oppdatere temaer og plugins regelmessig på en rekke klientsider samtidig.

Sammendrag

WP-CLI er virkelig utvikler og website manager drøm. Som utviklere kan vi lage testsider i en fei, legge testinnhold og gjøre alle slags import/eksport magi. Områdeansvarlige kan håndtere områdeoppdateringer og andre oppgaver for flere områder med enkle kommandoer. Sørg for å sjekke UT wp-CLI v2 utgivelsesnotater!

hvis DU ikke allerede har prøvd WP-CLI, oppfordrer jeg deg til å gi det en tur. Det er også en haug med fellesskapskommandoer som WP-CLI-SSH som legger til enda flere flotte funksjoner! Hvis du kjører inn i problemer, sørg for å sjekke ut wp-CLI common issues dokumentasjon.

ikke glem At Kinstas Google Cloud – baserte arkitektur støtter WP-CLI ut av boksen. Hvis Du vil prøve Den mest moderne WordPress-hostingarkitekturen og ha tilgang TIL gode verktøy SOM WP-CLI, kan du prøve vår administrerte WordPress-hosting.

hvis du likte denne artikkelen, vil Du elske Kinstas WordPress hosting plattform. Turbolad ditt nettsted og få 24/7 support fra vår veteran WordPress team. Vår Google Cloud-drevne infrastruktur fokuserer på automatisk skalering, ytelse og sikkerhet. La Oss vise Deg Kinsta forskjellen! Sjekk ut våre planer



+