WP-CLI v2 – Správa WordPress Z Terminálu

Pro většinu z jeho života, WordPress byl postaven pomocí jednoduchého kódu základny s trochou objektově orientované PHP je nejvíce abstraktní systém. V posledních několika letech se to však mění k lepšímu. Od testování jednotek až po CSS předzpracování a nástroje příkazového řádku se objevují stále více aktiv přátelských pro vývojáře. V tomto článku se podíváme na jeden z mých oblíbených: WP-CLI.

co je WP-CLI?

WP-CLI je nástroj příkazového řádku pro vývojáře pro správu běžných úkolů (a ne tak běžných) instalace WordPress. Může přidávat / odebírat uživatele, příspěvky, kategorie, vkládat testovací data, vyhledávat a nahrazovat v databázi, resetovat hesla, pomáhat při řešení problémů s výkonem a mnohem více!

Podpora

WP-CLI byl open source projekt za více než deset let, udržována především Daniel Bachhuber od roku 2003. Primárním cílem WP-CLI je pomoci urychlit pracovní postupy vývojářů WordPress.

v průběhu let se projekt objevil v mnohem více! Nyní se dokonce stává požadavkem na další open source projekty, jako jsou Trellis a Bedrock. Od ledna 2017 se WP-CLI oficiálně přestěhovala do WordPress.org a je také nyní společně udržován Alainem Schlesserem.

WP-CLI v2 byl vydán 8. srpna 2018, takže také prozkoumáme některé změny a nové funkce. Pokud jste klient Kinsta, WP-CLI v2. 0.1 je ve výchozím nastavení nainstalován na všech našich serverech, jednoduše SSH do vašeho serveru, abyste mohli začít. SSH přístup je součástí všech našich hostingových plánů (Nelze se připojit přes SSH? Opravte chybu SSH „připojení odmítnuto“).

  • WP-CLI
  • Základy WP-CLI
  • WP-CLI Příkazy v Obecné
  • Užitečné Příklady
  • Pomocí WP-CLI Dálku
  • Pomocí Bash Skriptů

WP-CLI

minimální PHP požadavek na WP-CLI v2.0.0 byl povýšen na PHP 5.4. I když je to dobrý krok vpřed, doporučujeme spustit alespoň podporovanou verzi PHP, což znamená 5.6 nebo vyšší. PHP 7.2 je výchozí pro všechny instalace Kinsta, a to jak z bezpečnostních, tak z výkonnostních důvodů. Máme také PHP 7.3 a 7.4 k dispozici.

Chcete-li začít, budete muset nainstalovat WP-CLI-velmi jednoduchý proces. Kroky pro Linux a OSX jsou následující, vydávat tyto tři příkazy jeden po druhém:

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

Pokud se něco pokazí, nebo jste v systému Windows odkazují na základní pokyny nebo alternativní instalační metody.

po dokončení byste měli být schopni vydat příkaz wp --info a získat smysluplnou odpověď.

proces je stejný, pokud chcete nainstalovat WP-CLI na váš server. Nezapomeňte, že pro klienty Kinsta je již nainstalován WP-CLI. Nejste si jisti, kterou verzi právě používáte? Chcete-li to zjistit, můžete vždy vydat příkaz wp cli version.

Základy WP-CLI

Mít přístup k WordPress z příkazového řádku je výkonný sám o sobě, ale může poskytnout ještě větší kontrolu a rychlosti zisky při použití bash skripty.

bash skripty umožňují spustit sekvenci příkazů jediným příkazem. Můžete napsat bash install-and-setup.sh a dostaneme následující výsledek:

  • Ke stažení WordPress
  • Vytvořit a naplnit wp-config.php
  • Vytvoření databáze
  • Nainstalovat WordPress
  • Nainstalovat a aktivovat všechny pluginy, které budete potřebovat
  • Nainstalovat a aktivovat téma
  • Stáhnout a přidat obsah testu

toto by byly kroky, chtěl bych si vytvořit nové testovací prostředí pro projekt. Normálně by mi to trvalo nejméně 5-10 minut, zejména pokud je zapojeno několik pluginů. Vydání jediného příkazu je samozřejmě mnohem rychlejší.

příkazy WP-CLI obecně

pokud jste zvyklí pracovat v terminálu, není pro vás nic zvláštního. Příkazy vždy začít s tím, wp následuje příkaz a příkazy, následuje povinné a volitelné parametry, něco jako tohle:

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

Pojďme nainstalujte téma, aby viděli, jak to funguje s skutečný příkaz:

wp theme install twentyseventeen --activate

tím se nainstaluje a aktivuje téma Twenty Seventeen ve vaší instalaci WordPress.

Všimněte si, že WP-CLI bude pracovat s instalací WordPress, kterou právě nacházíte v terminálu. Pokud přepnete adresáře na jinou instalaci WordPress, bude to fungovat s tímto.

užitečné příklady

to byl WP-CLI v kostce! I když existuje několik pokročilých věcí, které můžete udělat, ke kterým se za chvíli dostaneme, už víte dost, abyste mohli začít a dělat, co potřebujete. Doporučuji se podívat na seznam příkazů, vyzkoušet některé z nich. Podíváme se zde na některé užitečné věci, pak přejdeme k použití WP-CLI přes SSH a pomocí skriptů bash.

instalace WordPress

hodně používám WP-CLI k nastavení testovacích prostředí, jejichž prvním krokem je instalace vanilky. Zde je seznam příkazů, které spustím:

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 

Všimněte si, jak je to skvělé! Nejnovější verze WordPress se stáhne pomocí prvního příkazu. Druhý příkaz nastaví konfigurační soubor s přístupem k databázi a některými dalšími PHP na konci. Další konstanty zajišťují, že máme možnosti ladění pro testování. Máme zde podrobného průvodce, pokud se chcete dozvědět více o ladění WordPress.

třetí příkaz vytvoří databázi (WP-CLI používá informace o přístupu k databázi z konfiguračního souboru) a nakonec nainstalujeme WordPress pomocí několika parametrů.

přeinstalujte jádro WordPress

můžete také přeinstalovat jádro WordPress pomocí WP-CLI. Následující příkaz by stáhl jádro WordPress bez výchozích motivů a pluginů.

wp core download --skip-content --force

Změna adresy URL WordPress

existuje mnoho důvodů, proč byste mohli potřebovat nebo chtít změnit adresu URL WordPress. Možná, že jste změnu domény, pohybující se na subdoménu, aktualizace z www na non-www, přesouvání souborů kolem, nebo i přechod z HTTP na HTTPS. Ať už je to jakkoli, můžete k tomu snadno použít příkaz wp option update. Zde je příklad níže:

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

Aktuální Seznam Pluginů s Detaily

získat aktuální seznam pluginů nainstalovaných na webu, stačí použít následující příkaz. V tomto příkladu můžete vidět, že máme nainstalovaný plugin Schema a Yoast SEO. Vrátí také stav (aktivní / deaktivovaný), pokud je k dispozici aktualizace, a aktuální verzi.

wp plugin list
WP-CLI plugin seznam

WP-CLI plugin seznam

Instalaci Více Pluginů

instalovat více pluginů, můžete jednoduše hromadu na parametry. Zde je příklad, který stáhne a aktivuje 3 pluginy:

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

Všimněte si, že názvy pluginů pocházejí z jejich názvu v úložišti. Nejjednodušší způsob, jak to zjistit, je navštívit jejich stránku a podívat se na adresu URL nebo použít wp plugin search searchterm, který vám poskytne seznam v terminálu.

WordPress plugin úložiště URL

WordPress plugin úložiště URL

můžete také nainstalovat starší verze WordPress pluginy v případě potřeby s --version atribut.

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

ještě chladnější, můžete nainstalovat pluginy ze vzdálených souborů, nejen úložiště, které je užitečné, pokud vyvíjíte plugin nebo používáte prémiový plugin. Následující příkaz nainstaluje dva pluginy z úložiště a jeden ze serveru Amazon S3.

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

deaktivujte více pluginů

Chcete-li deaktivovat jeden plugin, můžete spustit následující příkaz.

wp plugin deactivate wordpress-seo

Chcete-li deaktivovat všechny pluginy najednou, spusťte následující příkaz.

wp plugin deactivate --all
WP-CLI deaktivovat všechny pluginy

WP-CLI deaktivovat všechny pluginy

výše uvedený příkaz může být užitečné, pokud jste řešení problémů s kompatibilitou a prostě musíte deaktivovat všechny pluginy naráz. Pak se můžete vrátit a povolit je jeden po druhém, testování as you go.

aktualizovat pluginy

můžete také ručně aktualizovat pluginy WordPress. Příklad níže:

wp plugin update wordpress-seo
wp-cli ručně aktualizovat wordpress plugin

WP-CLI ručně aktualizovat WordPress plugin

Databáze Vyhledávání A nahrazování

Jeden z hlavních důvodů, proč je obtížné přenést webu tím, že prostě kopírování-vkládání databáze je, že databáze obsahuje serializované pole. Pokud potřebujete nahradit všechny instance http://testsite.com http://livewebsite.com vaše serializovaná pole nebudou mít smysl, protože počet řetězců se neshoduje.

přihlaste se k odběru newsletteru

s WordPress jsme zvýšili náš provoz o 1,187%. Ukážeme vám jak.

přidejte se k 20,000 + ostatním, kteří dostanou náš týdenní zpravodaj s zasvěcenými tipy WordPress!

Přihlásit se nyní

příkaz search-replace nejprve odserializuje pole, poté provede vyhledávání a nahrazení a poté pole znovu serializuje. Můžete si to udělat jednoduchým příkazem:

wp search-replace oldstring newstring

Další parametry vám umožní udělat mnohem více, včetně náhledu, co bude nahrazen pomocí --dry-run.

Import a Export

existují dva způsoby, jak exportovat obsah pomocí WP-CLI. Můžete vytvořit soubor XML, stejně jako nástroj pro export WordPress, nebo můžete exportovat/importovat databázi raw. Později považuji za mnohem užitečnější v mé každodenní rutině, hodí se při synchronizaci webů.

wp db export je vše, co musíte udělat pro vytvoření souboru SQL a wp db import file.sql je vše, co potřebujete k importu. Funguje jako kouzlo, jen dávejte pozor, abyste přepsat něco, co potřebujete, import bude v podstatě dump stávající databáze a použití dodaného SQL souboru místo.

Správa rolí a schopností

WP-CLI může spravovat role pro vás docela snadno pomocí příkazu wp role. To je docela v pohodě, pokud chcete vyzkoušet, jak váš plugin pracuje s vlastními rolemi, ale ve skutečnosti nevytváříte role v rámci pluginu.

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

výše uvedené příkazy vytvoří novou roli (organizátor), přidá do ní všechny funkce z role editoru a poté přidá novou funkci: Správa událostí.

Generovat Testovací Data

miluju všechny druh podvodník-jako funkce – ty, které přidat figuríny obsah na vaše stránky, které můžete použít pro testy. WP-CLI má několik z nich zabudovaných, zde je několik funkcí, které generují uživatele, termíny a příspěvky.

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

Správa událostí WP-Cron

můžete spravovat události WP-Cron nebo práci WordPress Cron v WP-CLI. Následující příkaz vám například poskytne aktuální seznam událostí cron.

wp cron event list
wp-cron případě seznam

wp-cron případě seznam

Odstranit Přechody

můžete dokonce odstranit a vymazat jeden nebo všechny přechodové jevy pomocí následujícího příkazu.

wp transient delete --all

pokud používáte multisite, budete potřebovat trochu složitější příkaz. Ve výchozím nastavení příkaz kontroluje pouze tabulku wp_options. Nekontroluje wp_1_options, wp_2_options atd.

bojujete s prostoji a problémy s WordPress? Kinsta je hostingové řešení navržené tak, aby vám ušetřilo čas! Podívejte se na naše funkce

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

Vyčistit Tabulky wp_options

wp_options tabulka může být společným viníkem pomalého dotazu times na svém webu, vzhledem k autoloaded údaje, které jsou po sobě zanechal z třetí strany pluginy a témata. Podívejte se na tento skvělý článek z WP Bullet o tom, jak používat WP-CLI k vyčištění tabulky wp_options.

Smazat revize WordPress

na velkých webech mohou revize WordPress velmi rychle přidat tisíce řádků ve vaší databázi, které nejsou potřeba. Můžete odstranit post revize s WP-CLI. Zde je příklad příkazu:

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

WP-CLI odstranit WordPress revize

Ovládací Režim Údržby

Jako WP-CLI v2.2.0, nyní můžete řídit v režimu údržby na WordPress stránky. Příklad:

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

indexování dat pomocí Elasticsearch

Elasticsearch je open-source fulltextový vyhledávač. Používá se k indexování dat a vyhledávání těchto dat neuvěřitelně rychle. Nabízíme to jako doplněk pro klienty Kinsta. Pomocí příkazů ElasticPress WP-CLI můžete provádět indexování přes SSH. Příklad:

wp elasticpress index

Práce s Vícejazyčné Stránky

WP-CLI v2.0.0 zahrnuje novou rodinu příkazy wp i18n pro ty z vás, pracovat s vícejazyčné weby. Můžete například vytvořit soubor POT pro plugin nebo téma WordPress.

wp i18n make-pot <source> ] 

viz dokumentace příkazu i18n.

pomocí WP-CLI s WooCommerce

práce s eCommerce weby? 🛒 Doporučujeme zkontrolovat úžasný průvodce vývojem WP-CLI WooCommerce Robot Ninja pro rychlé a snadné příkazy, které můžete použít. Generování seznamu zákazníků, objednávek a dokonce i vytváření hromadných produktů je možné pomocí WP-CLI.

pomocí WP-CLI vzdáleně

jedna z nejlepších věcí, které můžete udělat s WP-CLI je spravovat své vzdálené instalace WordPress. Toto je skutečně sen správce webových stránek.

Chcete-li hladce spouštět příkazy WP-CLI na vzdáleném serveru přes SSH, dříve jste potřebovali příkaz WP-cli-SSH addon. Ale od v0. 24. 0 je to nyní součástí samotné WP-CLI! 👏

důležité: potřebujete WP-CLI nainstalován jak na počítači, ze kterého používáte příkaz, tak na vašem serveru.

konfigurace vzdálených serverů

servery můžete konfigurovat globálně nebo lokálně. Chcete-li je globálně konfigurovat, použijte soubor config.yml. Můžete také použít soubory wp-cli.yml nebo wp-cli.local.yml v aktuálním pracovním adresáři.

konfigurace serverů funguje něco, jako je tohle, vložte do jedné z uvedených souborů:

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

Jakmile je to hotovo, můžete zadejte následující příkaz k aktualizaci WordPress na vašem vzdáleném místě:

wp ssh core update --host=staging

Pokud vlastníte nebo spravovat mnoho míst, myslím, že můžete vidět, že je to úžasné! Skript požádá o heslo, ale pokud k přihlášení použijete klíče RSA, můžete se toho také vzdát. Podívejte se na tento článek a nastavte to.

použití Bash skriptů

bash skripty vám ušetří ještě více času automatizací úkolů. Pamatujete si, jak jsme potřebovali zadat mnoho příkazů k instalaci WordPress? Můžete to udělat pomocí jediného skriptu bash. Uvnitř adresáře vytvořte soubor install.sh. Vložte stejný kód, který jsme měli předtím, a uložte jej.

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 

vše, co musíte udělat, je zadat bash install.sh a vše bude provedeno za vás, bez zásahu uživatele. Pokud se vám podaří mnoho stránek, můžete nastavit všechny své prostředí a vytvořit bash skript, jako je tento:

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

Když nový WordPress verze vyjde, to může ušetřit spoustu času! Vzhledem k tomu, že s WP-CLI můžete dělat cokoli, můžete dokonce pravidelně aktualizovat témata a pluginy na řadě klientských webů najednou.

shrnutí

WP-CLI je opravdu sen vývojáře a správce webových stránek. Jako vývojáři můžeme vytvořit testovací stránky v mžiku, přidat testovací obsah a dělat všechny druhy import / export magie. Správci stránek mohou zpracovávat aktualizace stránek a další úkoly pro více webů pomocí jednotlivých příkazů. Nezapomeňte se podívat na Poznámky k vydání WP-CLI v2!

pokud jste ještě nezkusili WP-CLI, vyzývám vás, abyste to zkusili. Existuje také spousta komunitních příkazů, jako je WP-CLI-SSH, které přidávají ještě více skvělých funkcí! Pokud narazíte na problémy, nezapomeňte se podívat na dokumentaci běžných problémů WP-CLI.

nezapomeňte, že architektura Google založená na cloudu Kinsta podporuje WP-CLI po vybalení z krabice. Pokud byste chtěli vyzkoušet nejmodernější architekturu hostingu WordPress a mít přístup k skvělým nástrojům, jako je WP-CLI, zkuste náš spravovaný Hosting WordPress.

pokud se vám tento článek líbil, pak se vám bude líbit hostingová platforma WordPress společnosti Kinsta. Přeplňujte své webové stránky a získejte 24/7 podporu od našeho veteránského týmu WordPress. Naše infrastruktura poháněná cloudem Google se zaměřuje na automatické škálování, výkon a zabezpečení. Ukážeme vám rozdíl Kinsta! Podívejte se na naše plány



+