คำแนะนำของเราเกี่ยวกับโครงสร้างคำสั่ง WP-CLI

เผยแพร่แล้ว: 2022-06-29

อินเทอร์เฟซบรรทัดคำสั่ง WordPress (WP-CLI) เป็นเครื่องมือที่น่าทึ่งสำหรับการปรับปรุงเวิร์กโฟลว์การพัฒนาของคุณ การทำความเข้าใจว่าคำสั่งมีโครงสร้างอย่างไรเป็นกุญแจสำคัญในการใช้ WP-CLI อย่างเต็มศักยภาพ ในบทความนี้ คุณจะได้เรียนรู้วิธีจัดโครงสร้างคำสั่ง WP-CLI รวมถึงวิธีใช้พาเรนต์และคำสั่งย่อย ตลอดจนพารามิเตอร์และสวิตช์

ก่อนที่คุณจะดำดิ่งสู่การสร้างคำสั่ง คุณจะต้องติดตั้ง WP-CLI วิธีการที่แน่นอนแตกต่างกันไปตามระบบปฏิบัติการ แต่คำแนะนำในการติดตั้งและกำหนดค่า WP-CLI ของเรามีทุกสิ่งที่คุณต้องการ

คำสั่งหลักและคำสั่งย่อย

คำสั่ง WP-CLI เกือบทั้งหมดมีโครงสร้างในลักษณะเดียวกัน มี คำสั่งหลัก สำหรับพื้นที่การทำงานที่ใหญ่ขึ้นแต่ละส่วน เช่น wp core สำหรับการทำงานกับการติดตั้ง WordPress หลัก แต่ละคำสั่งพาเรนต์เหล่านี้สามารถใช้ได้กับคำสั่งย่อยที่แตกต่างกันจำนวนหนึ่ง และต้องใช้กับคำสั่งย่อยอย่างน้อยหนึ่งคำสั่ง

คำสั่งผู้ปกครองวางรากฐาน

ไม่มีคำสั่งหลักจะทำอะไรที่เป็นประโยชน์ได้ด้วยตัวเอง ตัวอย่างเช่น หากคุณลองใช้ wp config ด้วยตัวเอง คุณจะเห็นสิ่งนี้:

~$ wp config
การใช้งาน: wp config create --dbname= --dbuser= [--dbpass= ] [--dbhost= ] [--dbprefix= ] [--dbcharset= ] [--dbcollate= ] [--locale= ] [--extra-php] [--skip-salts] [--skip-check] [--force] [--config-file= ] [--ไม่ปลอดภัย]
   หรือ: wp config delete [--type= ] [--config-file= ]
   หรือ: wp config แก้ไข [--config-file= ]
   หรือ: wp config get [--type= ] [--รูปแบบ= ] [--config-file= ]
   หรือ: wp config has [--type= ] [--config-file= ]
   หรือ: รายการกำหนดค่า wp [ ...] [--fields= ] [--รูปแบบ= ] [--เข้มงวด] [--config-file= ]
   หรือ: wp config path
   หรือ: wp config set [--เพิ่ม] [--ดิบ] [--anchor= ] [--ตำแหน่ง= ] [--ตัวคั่น= ] [--type= ] [--config-file= ]
   หรือ: wp config สับเปลี่ยนเกลือ [ ...] [--บังคับ] [--config-file= ] [--ไม่ปลอดภัย]

ดู 'wp help config' สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งเฉพาะ

เพียงอย่างเดียวเท่านั้นที่ให้เบาะแสที่ดีว่าคุณจะใช้คำสั่ง wp config อย่างไร คุณสามารถทำความเข้าใจได้ดียิ่งขึ้นโดยทำตามคำแนะนำและป้อน wp help config

ชื่อ

  wp config

คำอธิบาย

  สร้างและอ่านไฟล์ wp-config.php

เรื่องย่อ

  wp config

คำสั่งย่อย

  create สร้างไฟล์ wp-config.php
  delete ลบค่าคงที่หรือตัวแปรเฉพาะออกจากไฟล์ wp-config.php
  edit เปิดตัวแก้ไขระบบเพื่อแก้ไขไฟล์ wp-config.php
  get รับค่าของค่าคงที่หรือตัวแปรเฉพาะที่กำหนดไว้ในไฟล์ wp-config.php
  มี ตรวจสอบว่ามีค่าคงที่หรือตัวแปรเฉพาะอยู่ในไฟล์ wp-config.php
  list รายการตัวแปร ค่าคงที่ และไฟล์รวมที่กำหนดไว้ในไฟล์ wp-config.php
  path รับพาธไปยังไฟล์ wp-config.php
  set ตั้งค่าของค่าคงที่หรือตัวแปรเฉพาะที่กำหนดไว้ในไฟล์ wp-config.php
  shuffle-salts รีเฟรชเกลือที่กำหนดไว้ในไฟล์ wp-config.php

พารามิเตอร์สากล

  --เส้นทาง=

มีคำสั่งหลักมากกว่า 40 คำสั่งในการติดตั้ง WP-CLI หลัก ปลั๊กอินยอดนิยมบางตัว เช่น WooCommerce และ BuddyPress เพิ่มคำสั่งหลักของตัวเอง ดังนั้นการติดตั้ง WordPress ของคุณอาจมีมากกว่านี้ ในกรณีส่วนใหญ่ คุณสามารถค้นหาวิธีใช้คำสั่งได้ด้วยการป้อน wp help ตามด้วยชื่อของคำสั่งหลัก

การทำความเข้าใจเล็กน้อยเกี่ยวกับวิธีการจัดกลุ่มจะช่วยในการเรียนรู้การใช้ WP-CLI เป็นที่น่าสังเกตว่าคำสั่ง WP-CLI มักใช้คำนามเอกพจน์ในคำสั่ง ตัวอย่างเช่น คำสั่งหลักสำหรับการจัดการผู้ใช้มีชื่อว่า wp user แทนที่จะเป็น “wp users” ตราบใดที่คุณจำได้ คุณจะพบว่าสัญชาตญาณของคุณมักจะถูกต้อง คำสั่งสำหรับจัดการความคิดเห็นคือ wp comment และ wp cron เป็นคำสั่งที่คุณใช้สำหรับจัดการกำหนดการและกิจกรรมของ WP-Cron

คุณสามารถค้นหาแผ่นข้อมูลพร้อมคำสั่งหลักที่ใช้บ่อยที่สุดได้ที่ด้านล่างนี้

สั่งการ คำอธิบาย
wp core การทำงานกับการติดตั้ง WordPress
wp config การสร้างและการอ่าน wp-config.php
ปลั๊กอิน wp การจัดการปลั๊กอิน
ธีม wp การจัดการธีม
ผู้ใช้ wp การจัดการผู้ใช้
wp สื่อ การทำงานกับรูปภาพและไฟล์สื่ออื่นๆ
ช่วยด้วย wp ความช่วยเหลือทั่วไป ตามด้วยคำสั่งสำหรับข้อมูลเพิ่มเติม
ตัวเลือก wp การตั้งค่าตัวเลือกไซต์ รวมถึงตัวเลือกปลั๊กอินและ WordPress
เว็บไซต์ wp การจัดการไซต์ในการติดตั้งแบบหลายไซต์

คำสั่งย่อย ให้ทิศทาง

ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ไม่มีคำสั่งใดที่ใช้งานได้จริง เราต้องระบุคำสั่งย่อยด้วยถ้าเราจะไปที่ใดก็ได้ ฉันขอแนะนำอย่างยิ่งให้ตั้งค่าการเสร็จสิ้นแท็บ นี้จะช่วยให้คุณเห็นคำสั่งย่อยได้อย่างง่ายดาย ตัวอย่างเช่น การใช้การเติมแท็บให้สมบูรณ์ เราจะเห็นคำสั่งย่อยสำหรับ plugin :

 $ wp plugin [TAB] activate get list toggle auto-updates install path uninstall deactivate is-active search update delete is-installed status verify-checksums

การกด Enter โดยไม่ระบุคำสั่งย่อยจะแจ้ง WP-CLI เพื่อนำเสนอความช่วยเหลือเพิ่มเติม:

 $ wp plugin usage: wp plugin activate [<plugin>...] [--all] [--network] or: wp plugin auto-updates <command> or: wp plugin deactivate [<plugin>...] [--uninstall] [--all] [--network] or: wp plugin delete [<plugin>...] [--all] or: wp plugin get <plugin> [--field=<field>] [--fields=<fields>] [--format=<format>] or: wp plugin install <plugin|zip|url>... [--version=<version>] [--force] [--activate] [--activate-network] [--insecure] ....

สังเกตเห็นความแตกต่างในวิธีนำเสนอพารามิเตอร์ในข้อความช่วยเหลือด้านบนหรือไม่ บางส่วนถูกห่อหุ้มด้วยเครื่องหมาย < > ส่วนอื่นๆ นำหน้าด้วยขีดกลาง -- นั่นไม่ใช่เรื่องบังเอิญ เป็นพารามิเตอร์ประเภทต่างๆ เราจะกลับไปที่นั้นในอีกสักครู่

WP-CLI ใช้งานได้ดีเพราะมักจะสามารถบอกคุณเพิ่มเติมเล็กน้อยเกี่ยวกับแต่ละคำสั่งย่อยและพารามิเตอร์ที่คาดหวัง สิ่งนี้มีความสอดคล้องกันมากในคำสั่ง WP-CLI ในตัวทั้งหมด เมื่อใดก็ตามที่คุณล้มเหลวในการพิมพ์คำสั่งแบบเต็มพร้อมพารามิเตอร์ที่คาดไว้ทั้งหมด มันจะบอกคุณเพิ่มเติมเกี่ยวกับสิ่งที่คาดหวัง

แผ่นโกง WP-CLI ของคำสั่งยอดนิยม

แผ่นโกงด้านล่างแสดงคำสั่งย่อยทั่วไปบางคำสั่งและคำสั่งหลักที่พวกเขาใช้ มีคำสั่งย่อยมากมายให้เลือกมากกว่าที่แสดงไว้ที่นี่ คำสั่งหลักบางคำสั่ง เช่น wp comment มีคำสั่งย่อยมากกว่าหนึ่งโหล ในขณะที่คำสั่งอื่นๆ เช่น wp cron มีเพียงไม่กี่คำสั่ง

WP Core

สั่งการ คำอธิบาย
ดาวน์โหลดคอร์ wp ดาวน์โหลดไฟล์หลักของ WordPress
wp core ติดตั้ง ติดตั้งเวิร์ดเพรส
wp core update อัปเดต WordPress เป็นเวอร์ชันใหม่กว่า

การกำหนดค่า WP

สั่งการ คำอธิบาย
wp config สร้าง สร้างไฟล์ `wp-config.php` ใหม่
wp config แก้ไข เปิดตัวแก้ไขระบบเพื่อแก้ไขไฟล์กำหนดค่า
wp core update แสดงตัวแปร ค่าคงที่ และไฟล์รวมที่กำหนดไว้ในไฟล์ `wp-config.php'

ธีม WP

สั่งการ คำอธิบาย
การติดตั้งธีม wp ติดตั้งธีม
เปิดใช้งานธีม wp เปิดใช้งานธีม
อัปเดตอัตโนมัติของธีม wp จัดการการอัปเดตอัตโนมัติ
ปิดการใช้งานธีม wp ปิดใช้งานธีมที่เลือก

ปลั๊กอิน WP

สั่งการ คำอธิบาย
ติดตั้งปลั๊กอิน wp ติดตั้งธีม
เปิดใช้งานปลั๊กอิน wp เปิดใช้งานปลั๊กอิน
ปลั๊กอิน wp อัปเดตอัตโนมัติ จัดการการอัปเดตอัตโนมัติ
ปลั๊กอิน wp ปิดการใช้งาน ปิดใช้งานปลั๊กอินที่เลือก

พารามิเตอร์และสวิตช์

นอกเหนือจากคำสั่งพาเรนต์และคำสั่งย่อย คำสั่งส่วนใหญ่จำเป็นต้องมี พารามิเตอร์ อย่างน้อยหนึ่งตัวจึงจะสามารถทำบางสิ่งที่เป็นประโยชน์ได้ ตัวอย่างเช่น หากคุณต้องการติดตั้งปลั๊กอิน คุณต้องระบุปลั๊กอินที่จะติดตั้ง การเปิดใช้งานหรือการลบปลั๊กอินก็เหมือนกัน

โดยพื้นฐานแล้วมีพารามิเตอร์สามประเภทที่คุณจะใช้กับ WP-CLI ได้แก่ พารามิเตอร์ที่เรียงลำดับ พารามิเตอร์ที่มีชื่อ และสวิตช์

พารามิเตอร์ที่สั่ง

หากคำสั่งต้องการพารามิเตอร์ปกติมากกว่าหนึ่งพารามิเตอร์ จะต้องได้รับคำสั่งอย่างถูกต้องเสมอเพื่อให้คำสั่งทำงาน นี่คือเหตุผลที่เรียกว่า Parameter ที่สั่ง พวกเขาจะถูกคั่นด้วยช่องว่างเดียวเสมอ หากค่าพารามิเตอร์เองมีช่องว่าง จะต้องล้อมรอบด้วยเครื่องหมายคำพูด

ในข้อความช่วยเหลือสำหรับคำสั่ง พารามิเตอร์ที่เรียงลำดับจะถูกล้อมรอบด้วย < และ > ในตัวอย่างต่อไปนี้ของการพยายามใช้ wp post get โดยไม่มีพารามิเตอร์ใด ๆ เราจะเห็นว่า id เป็นพารามิเตอร์ที่เรียงลำดับเพราะอยู่ใน < และ >

 $ wp post get usage: wp post get <id> [--field=<field>] [--fields=<fields>] [--format=<format>]

พารามิเตอร์ที่มีชื่อ

WP-CLI ยังใช้งานได้ดีกับ พารามิเตอร์ที่มีชื่อ สิ่งเหล่านี้สามารถให้ในลำดับใดก็ได้ พารามิเตอร์ที่มีชื่อจะรับรู้โดยเครื่องหมายขีดคั่นคู่ก่อนชื่อและการมีอยู่ของเครื่องหมายเท่ากับระหว่างชื่อและค่า

ตัวอย่างเช่น เมื่อดูข้อความช่วยเหลือสำหรับ wp post get ด้านบน เราจะเห็นว่าพารามิเตอร์ format และ fields นำหน้าด้วยเครื่องหมายขีดคั่นคู่ นั่นเป็นวิธีที่เรารู้ว่ามีชื่อพารามิเตอร์สำหรับคำสั่งนี้

การสั่งซื้อ ไม่ สำคัญ:

 # This will get the the title field for post id 1 in JSON format $ wp post get 1 --fields=title --format=json # This is the same command, order of named parameters doesn't matter: $ wp post get 1 --format=json --fields=title # This is also exactly the same, you can put named parameters before the ordered ones: $ wp post get --format=json --fields=title 1

สวิตช์

นอกจากนี้ยังมีชื่อพารามิเตอร์ที่ใช้เพื่อระบุค่าประเภทจริง/เท็จเท่านั้น สิ่งเหล่านี้เรียกว่า สวิตช์ และไม่ต้องการค่าที่ระบุ หากคุณเพิ่มลงในบรรทัดคำสั่ง หมายความว่า "จริง" หากคุณละเว้น แสดงว่าเป็น "เท็จ"

บางทีนี่อาจอธิบายได้ดีที่สุดด้วยตัวอย่างบางส่วน:

 # Passing "hello-dolly" as regular ordered parameter $ wp plugin activate hello-dolly # Passing a regular ordered parameter with spaces requires quotes $ wp plugin search "WP Offload Media" # Passing the value 'json' to the named parameter 'format' $ wp plugin list --format=json # Setting the 'quiet' switch to true $ wp plugin activate hello-dolly --quiet

ไม่ซับซ้อนใช่มั้ย นี่เป็นบรรทัดฐานของเครื่องมือบรรทัดคำสั่งค่อนข้างมาก แต่ขอเพิ่มรายละเอียดอีกเล็กน้อย

อาร์กิวเมนต์ที่มีชื่อทั่วโลก

อาร์กิวเมนต์ที่มีชื่อสามารถเป็นแบบโกลบอลในแง่ที่คำสั่ง WP-CLI จำนวนมากใช้คำสั่งเหล่านี้ และจะมีพฤติกรรมเหมือนกันทุกครั้งเมื่อใช้

อาร์กิวเมนต์ที่มีชื่ออื่นๆ เหมาะสมกับคำสั่งเฉพาะเพียงคำสั่งเดียว อาร์กิวเมนต์ที่มีชื่อประเภทนี้เป็นเพียงพารามิเตอร์ที่มีชื่อเท่านั้น ในตัวอย่างข้างต้น พารามิเตอร์ --quiet เป็นแบบโกลบอล เนื่องจากมีผลกับคำสั่งทั้งหมดในลักษณะเดียวกัน แต่พารามิเตอร์ --format ไม่ถือเป็นค่าสากล เนื่องจากไม่สมเหตุสมผลสำหรับคำสั่งทั้งหมด

วิธีใช้คำสั่ง WP-CLI

ตัวอย่างเช่น มาดูวิธีใช้ wp-plugin เพื่อติดตั้งและเปิดใช้งานปลั๊กอิน WordPress นอกเหนือจากการจัดการผู้ใช้แล้ว นี่เป็นหนึ่งในพื้นที่แรกๆ ที่ผู้ใช้ WP-CLI ใหม่ต้องการเรียนรู้ แม้ว่าคุณจะไม่สนใจการจัดการปลั๊กอินจากบรรทัดคำสั่งมากนัก แต่ก็ควรอ่านส่วนนี้เพื่อเตรียมพร้อมสำหรับการทำงานกับ WP-CLI

การติดตั้งปลั๊กอินใหม่จากที่เก็บ WordPress นั้นตรงไปตรงมามาก คุณต้องมีคำสั่งหลัก ( wp plugin ) คำสั่งย่อย ( install ) และพารามิเตอร์ที่สั่ง (กระสุนอย่างเป็นทางการของปลั๊กอิน) เพื่อติดตั้งปลั๊กอิน การเปิดใช้งานปลั๊กอินใช้คำสั่งที่คล้ายกัน แต่มีคำสั่งย่อยอื่น ( activate )

นำทุกอย่างมารวมกันแล้วคุณควรเห็นสิ่งนี้:

 # Installing a plugin $ wp plugin install hello-dolly Installing Hello Dolly (1.7.2) Downloading installation package from https://downloads.wordpress.org/plugin/hello-dolly.1.7.2.zip... The authenticity of hello-dolly.1.7.2.zip could not be verified as no signature was found. Unpacking the package... Installing the plugin... Plugin installed successfully. Success: Installed 1 of 1 plugins. $ wp plugin activate hello-dolly Plugin 'hello-dolly' activated. Success: Activated 1 of 1 plugins.

อย่างที่คุณเห็น การติดตั้งและเปิดใช้งานปลั๊กอินเป็นสองสิ่งที่แยกจากกันใน WP-CLI เช่นเดียวกับเมื่อคุณติดตั้งปลั๊กอินโดยใช้เว็บอินเทอร์เฟซ แต่การติดตั้งและเปิดใช้งานปลั๊กอินโดยตรงนั้นเป็นเรื่องปกติที่ WP-CLI มีวิธีที่จะทำทั้งสองอย่างพร้อมกัน:

 # Installing AND activating a plugin in one go $ wp plugin install --activate hello-dolly

ส่วนที่ยุ่งยากอย่างหนึ่งคือการค้นหากระสุนที่เหมาะสมสำหรับปลั๊กอินที่คุณต้องการ ปลั๊กอินทั้งหมดถูกระบุโดยกระสุนอย่างเป็นทางการ แต่ในหลายกรณี ตัวบุ้งไม่เหมือนกับชื่อทางการของปลั๊กอินจากระยะไกล ปลั๊กอิน Yoast SEO ที่ได้รับความนิยมอย่างมากมี slug wordpress-seo กระสุนสำหรับปลั๊กอิน WP Offload Media ของเราคือ amazon-s3-and-cloudfront

Slug ถูกกำหนดเมื่อปลั๊กอินได้รับการยอมรับในที่เก็บปลั๊กอินของ WordPress เป็นครั้งแรก และเป็นเพียงตัวระบุที่ไม่ซ้ำกันเท่านั้น แม้ว่าชื่อปลั๊กอินจะเปลี่ยนไป แต่กระสุนก็ยังเหมือนเดิม คุณสามารถไปที่หน้าเว็บ repo ของปลั๊กอิน ค้นหาปลั๊กอินและดูเส้นทางใน URL ได้เสมอ:

คุณสามารถดูกระสุนของปลั๊กอินได้โดยดูจาก URL ในที่เก็บ แต่ WP-CLI นำเสนอโซลูชันที่หรูหรากว่า

ใช้งานได้ แต่ไม่มีกลเม็ดเด็ดพรายและนำคุณออกจากเทอร์มินัล นี่เป็นวิธีที่เหมาะสมในการใช้คำสั่งย่อย search ของ WP-CLI:

 wp plugin search "wp offload media" --per-page=1 --fields=name,slug Success: Showing 1 of 66 plugins. +-----------------------------------------------------------------------+--------------------------+ | name | slug | +-----------------------------------------------------------------------+--------------------------+ | WP Offload Media Lite for Amazon S3, DigitalOcean Spaces, and Google | amazon-s3-and-cloudfront | | Cloud Storage | | +-----------------------------------------------------------------------+--------------------------+

หากคุณอยากเรียนรู้เพิ่มเติมเกี่ยวกับการจัดการปลั๊กอิน เราจะเจาะลึกทุกแง่มุมที่สำคัญของคำสั่ง wp plugin ในโพสต์เกี่ยวกับ WP-CLI ในภายหลัง สำหรับตอนนี้ เรากำลังใช้มันเพื่อสาธิตการใช้พารามิเตอร์

ห่อ

ประโยชน์ที่ใหญ่ที่สุดที่คุณจะเห็นจากการผสาน WP-CLI เข้ากับเวิร์กโฟลว์การพัฒนาของคุณ มีแนวโน้มว่าจะช่วยให้คุณทำงานได้เร็วยิ่งขึ้น แทบทุกอย่างที่คุณสามารถทำได้จากผู้ดูแลระบบ WordPress สามารถทำได้โดยใช้เวลาน้อยลงโดยใช้บรรทัดคำสั่ง

เมื่อคุณรู้พื้นฐานแล้ว คุณสามารถพัฒนา WP-CLI ให้ดียิ่งขึ้นด้วยรายการแพ็คเกจ WP-CLI ที่เราขาดไม่ได้

การทำความเข้าใจว่าคำสั่ง คำสั่งย่อย และพารามิเตอร์มีโครงสร้างอย่างไรเป็นกุญแจสำคัญในการทำความคุ้นเคยกับ WP-CLI ความตั้งใจของฉันคือการมอบความรู้พื้นฐานที่จำเป็นสำหรับการเริ่มต้นการทดลองด้วยตัวเอง หากคุณมีคำถามใดๆ เกี่ยวกับวิธีการจัดโครงสร้างคำสั่ง WP-CLI พารามิเตอร์ หรือสิ่งอื่นๆ ที่เกี่ยวข้องกับ WP-CLI โปรดแจ้งให้เราทราบในความคิดเห็น