คำสั่ง WP-CLI ทั่วไปถึง Master: wp term | เพรสแล็บส์ (2024)

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

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

ประกาศจาก Presslabs

ในตอนนี้ เราไม่ได้เสนอการเข้าถึง wp-cli โดยตรง แต่เราสามารถดำเนินการหลายอย่างผ่านทีมสนับสนุนของเรา เราวางแผนที่จะรวมมันเข้ากับแดชบอร์ดใหม่ของเรา โดยอิงตามโครงสร้างพื้นฐานสแต็กของเรา ดังนั้นโปรดติดตามบล็อกของเรา เพราะสิ่งดีๆ มากมายกำลังจะเกิดขึ้น!

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

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

เราจะใช้ประโยชน์ให้มากที่สุดคำสั่ง WP-CLiทีละคนแล้วเราจะเริ่มต้นด้วยเทอม wp.

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

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

นี่คือเทอม wpคำสั่งที่คุณสามารถใช้ได้:

ระยะ wp createwp ระยะ Deletewp ระยะ Genewp ระยะ getwp ระยะ listwp ระยะ metawp ระยะ recountwp ระยะ updatewp ระยะ meta addwp ระยะ meta ลบwp ระยะ meta getwp ระยะ meta listwp ระยะ meta patchwp ระยะ meta pluckwp ระยะ meta อัพเดต

ตัวอย่างเช่น หากคุณต้องการแสดงรายการหมวดหมู่ทั้งหมด:

หมวดหมู่รายการคำศัพท์ wp

หรือคุณต้องการอัพเดตชื่อหมวดหมู่:

หมวดการอัปเดตคำศัพท์ wp 1 --name=Blog

#ลบ "ไม่มีหมวดหมู่" ออกจากโพสต์ที่มีมากกว่าหนึ่งหมวดหมู่

“ไม่มีหมวดหมู่” เป็นหมวดหมู่เริ่มต้นใน WordPress ดังนั้นจึงเป็นเรื่องปกติที่จะถูกลืมในโพสต์เก่าๆ บางโพสต์ การรักษาหมวดหมู่นี้ไม่ได้ช่วยให้ผู้ใช้ของคุณค้นพบสิ่งที่พวกเขากำลังค้นหา และทำให้ไซต์ของคุณดูเลอะเทอะและไม่เป็นมืออาชีพ ไม่จำเป็นต้องพูดว่าคุณไม่ควรมีโพสต์ในหมวดหมู่นี้ คุณสามารถเปลี่ยนชื่อมันหรือลบมันออก แต่สิ่งแรกที่คุณควรทำคือต้องแน่ใจว่ามันจะไม่ปรากฏในโพสต์ที่มีการกำหนดหมวดหมู่อยู่แล้ว

คุณสามารถสร้างสคริปต์ทุบตีด้วยโค้ดต่อไปนี้แล้วเรียกใช้:

#!/bin/bash สำหรับการโพสต์ใน $(wp post list --field=ID) do count=$(wp post term list $post 'category' --fields='name' --format="count") ถ้า [ "$count" -gt "1" ] จากนั้น wp โพสต์คำ ลบ $post หมวดหมู่ 'ไม่มีหมวดหมู่' fi เสร็จแล้ว

หรือคุณสามารถรันคำสั่งในเทอร์มินัลของคุณ:

สำหรับการโพสต์ใน $(รายการโพสต์ wp --field=ID); ทำ count=$(wp โพสต์รายการคำศัพท์ $post 'category' --fields='name' --format="count"); ถ้า [ "$count" -gt "1" ]; จากนั้นคำโพสต์ wp จะลบหมวดหมู่ $post 'ไม่มีหมวดหมู่'; ฟี; เสร็จแล้ว

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

#ลบแท็กที่ปรากฏในโพสต์น้อยกว่า 100 รายการ

มีหลายวิธีที่คุณสามารถรวมคำสั่ง WP-CLI เข้ากับคำสั่ง bash เพื่อให้ได้ผลลัพธ์ที่ต้องการ ตัวอย่างเช่น ต่อไปนี้เป็นสองวิธีในการลบแท็กที่ปรากฏในโพสต์น้อยกว่า 100 โพสต์:

สำหรับ x ใน $(รายการคำศัพท์ wp post_tag --format=ids); ทำ count_posts=$(รายการคำศัพท์ wp post_tag --term_id=$x --field=count); ถ้า [ $count_posts -lt 3 ]; จากนั้นระยะ wp ลบ post_tag $x; ฟี; เสร็จแล้ว
สำหรับ x ใน $(รายการคำศัพท์ wp post_tag --format=ids); ทำ count_posts=$(รายการโพสต์ส่วนที่เหลือ wp --tags=$x | wc -l | awk '{พิมพ์ $1-1}'); ถ้า [ $count_posts -lt 100 ]; จากนั้นระยะ wp ลบ post_tag $x; ฟี; เสร็จแล้ว

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

#สร้างรายการไฟล์

บางครั้งคุณจำเป็นต้องสร้างไฟล์ที่มีแท็กทั้งหมดที่คุณต้องการลบ บางทีคุณอาจต้องการส่งต่อให้นักพัฒนาซอฟต์แวร์ของคุณเพื่อลบออก หรือคุณต้องการแก้ไขแท็กที่คุณต้องการลบหรือเก็บไว้ด้วยตนเอง ไม่ว่าในกรณีใด คุณสามารถสร้างไฟล์ข้อความที่มี ID แท็กทั้งหมดของคุณได้ดังนี้:

รายการคำศัพท์ wp post_tag --format=ids > all_tags.txt

all_tags.txt

33 35 155 177 211

คุณยังสามารถสร้างไฟล์ .CSV ซึ่งจะทำให้ง่ายต่อการลบแท็กด้วยตนเอง เนื่องจากคุณจะมีฟิลด์ทั้งหมดของแท็ก แทนที่จะเป็นเพียง ID:

รายการคำศัพท์ wp post_tag --format=csv > all_tags.csv

all_tags.csv

term_id,term_taxonomy_id,ชื่อ,ทาก,คำอธิบาย,ผู้ปกครอง,นับ
33,33,เวิร์ดเพรส,เวิร์ดเพรส,,0,4
155,155,คูเบอร์เนทีส,คูเบอร์เนเทส,,0,3
177,177,mysql,mysql,,0,3

สมมติว่าคุณมีไฟล์ (tags_list.txt) ที่มีรายการแท็กทาก ต่อไปนี้คือวิธีที่คุณสามารถลบแท็กที่มีทากที่เกี่ยวข้องได้:

สำหรับ x ใน $(cat www/wp-content/uploads/tags_list.txt); ทำระยะ wp ลบ post_tag $x --by=slug ; เสร็จแล้ว

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

#เพิ่มหมวดหมู่ใหม่ลงในรายการโพสต์ในรายการไฟล์

หากคุณต้องการเพิ่มหมวดหมู่ใหม่ให้กับโพสต์มากกว่า 2-3 โพสต์ คุณสามารถสร้างรายการที่มี ID โพสต์ทั้งหมด จากนั้นเรียกใช้:

สำหรับ x ใน $(cat www/wp-content/uploads/post_list.txt); ทำคำโพสต์ wp เพิ่มรหัสหมวดหมู่ $x; เสร็จแล้ว

คุณไม่จำเป็นต้องสร้างหมวดหมู่ใหม่ล่วงหน้า หมวดหมู่จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณเพิ่มหมวดหมู่ลงในโพสต์

#ลบแท็กโพสต์ทั้งหมด ยกเว้นรายการที่กำหนดในรูปแบบ .CSV

สมมติว่าคุณได้สร้างไฟล์ .CSV พร้อมด้วย ID ทั้งหมดของแท็กที่คุณต้องการเก็บไว้ หากต้องการลบแท็กทั้งหมดยกเว้นแท็กออกจากรายการนี้ ให้รัน:

รายการคำศัพท์ wp post_tag --exclude=$(catไม่รวม_tags.csv) --field=term_id | xargs wp เทอมลบ post_tag

สิ่งนี้จะส่งเอาต์พุตของรายการคำศัพท์ wpสั่งให้xargsซึ่งจะดำเนินการลบคำ wpคำสั่งสำหรับแท็กโพสต์แต่ละรายการที่ไม่อยู่ในรายการ

#ลบรายการข้อกำหนดออกจากรายการโพสต์

หากคุณต้องการลบแท็ก/หมวดหมู่บางส่วน แต่คุณไม่ต้องการลบแท็ก/หมวดหมู่ออกจากโพสต์ทั้งหมดของคุณ เฉพาะบางแท็กเท่านั้น คุณสามารถสร้างไฟล์ข้อความได้ 2 ไฟล์:

  1. อันที่ประกอบด้วยรายการแท็ก/หมวดหมู่ทากที่คุณต้องการลบ
  2. อันที่มีรหัสโพสต์ของโพสต์ที่คุณต้องการลบแท็ก

จากนั้นคุณสามารถเรียกใช้:

สำหรับ x ใน $(cat www/wp-content/uploads/posts_list.txt); ทำคำโพสต์ wp ลบ $x post_tag $(cat www/wp-content/uploads/tags_to_remove.txt); เสร็จแล้ว

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

#กู้คืนแท็กที่ถูกลบ

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

รายการโพสต์ wp --tag_id=10495 --field=ID > post_ids.txt

คัดลอกไฟล์ที่มีรหัสโพสต์ลงในโฟลเดอร์อัพโหลดของไซต์ที่ใช้งานจริง จากนั้นสร้างแท็กขึ้นใหม่และคัดลอกรหัสแท็กใหม่:

คำว่า wp สร้าง post_tag the_lost_and_found

สุดท้ายเพิ่มลงในโพสต์ที่เกี่ยวข้อง:

สำหรับ x ใน $(cat www/wp-content/uploads/post_ids.txt); ทำคำโพสต์ wp เพิ่ม $x post_tag 120434 --by=id ; เสร็จแล้ว

แค่นั้นแหละ! เช่นเดียวกับที่คุณสามารถกู้คืนหมวดหมู่ที่ถูกลบได้ หากคุณมีข้อมูลสำรองซึ่งทุกไซต์ควรมี ทุกปัญหามีทางแก้ไข

#เปลี่ยนผู้ปกครองสำหรับชุดหมวดหมู่ที่กำหนด

หากคุณต้องการเปลี่ยนพาเรนต์ของหมวดหมู่ คุณสามารถทำได้ง่ายๆ จาก wp-admin ของไซต์ของคุณ หรือด้วยคำสั่ง WP-CLI ต่อไปนี้:

หมวดหมู่การอัปเดตคำศัพท์ wp 134 --parent=53

134 คือ ID ของหมวดหมู่ปัจจุบัน และ 53 คือ ID ของหมวดหมู่ที่คุณต้องการตั้งเป็นพาเรนต์

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

สำหรับ x ใน $(cat www/wp-content/uploads/categories_list.txt); ทำหมวดหมู่การอัพเดตคำศัพท์ wp $x --parent=53 ; เสร็จแล้ว

คำสั่งนี้จะนำรหัสหมวดหมู่ทั้งหมดจากรายการของคุณและอัปเดตหมวดหมู่หลักเป็นหมวดหมู่ใหม่ ในกรณีนี้คือหมวดหมู่ที่มี ID 53 

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

สำหรับ x ใน $(cat www/wp-content/uploads/category_list.txt); ทำระยะ wp โยกย้าย $x --from=category --to=post_tag ; เสร็จแล้ว

ที่Category_list.txtไฟล์มีรหัสของหมวดหมู่ที่คุณต้องการแปลง ในทำนองเดียวกัน คุณสามารถแปลงแท็กของโพสต์เป็นหมวดหมู่ได้ เพียงสลับแอตทริบิวต์ “–จาก” และ “–เป็น”

#มีส่วนช่วย

หากคุณได้สร้างไฟล์เทอม wpคำสั่งเพื่อแก้ไขปัญหาเฉพาะสำหรับไซต์ของคุณ เรายินดีที่จะรวมกรณีการใช้งานของคุณไว้ในซีรี่ส์ของเรา เพียงส่งอีเมลถึงเราที่ support@presslabs.com

About WP-CLI and WordPress Maintenance Operations

I'm an expert in WordPress and WP-CLI, the command-line interface for WordPress. I have extensive experience in using WP-CLI for various maintenance operations, including updating plugins, configuring multisite installs, deleting revisions, regenerating thumbnails, and performing search replaces in the database. I have a deep understanding of how WP-CLI can be used to efficiently manage and maintain WordPress websites.

WP-CLI and WordPress Core Operations

WP-CLI is a powerful tool for managing WordPress websites, offering a wide range of commands for day-to-day maintenance operations. While WordPress core operations are typically handled by the hosting provider, WP-CLI focuses on more specific and advanced tasks for site improvements.

WP-CLI Commands for Managing Categories and Tags

The terms in WordPress, such as categories and tags, play a crucial role in organizing the content on a website. WP-CLI provides a set of commands specifically designed for managing categories and tags, allowing users to perform tasks such as creating, deleting, updating, and listing terms.

Specific Use Cases for WP-CLI

The series of WP-CLI tutorials aims to address common use cases beyond simple plugin updates or thumbnail regeneration. It covers how to perform specific operations, such as deleting less popular tags, which may not be readily available in the WordPress codex.

Sample WP-CLI Commands for Managing Terms

WP-CLI offers a range of commands for managing terms, including creating, deleting, updating, and listing terms. For example, users can list all categories using the command wp term list category or update a category's name using wp term update category 1 --name=Blog.

Combining WP-CLI with Bash Commands

The article also demonstrates how WP-CLI commands can be combined with bash scripting to achieve specific tasks. For instance, it provides a bash script for removing the default "Uncategorized" category from posts and offers examples of removing tags that appear in less than a certain number of posts.

Advanced Operations with WP-CLI

The article delves into more advanced operations, such as creating a file list of tags, adding a new category to a list of posts, removing all post tags except those in a given list, and removing a list of terms from a list of posts. It also covers restoring a deleted tag and changing the parents for a given set of categories.

Conclusion

The series of WP-CLI tutorials aims to empower users with the knowledge and skills to efficiently manage and maintain their WordPress websites using the command-line interface. It encourages users to leverage the flexibility and power of WP-CLI for a wide range of maintenance operations.

If you have any specific questions or need further details about WP-CLI or WordPress maintenance operations, feel free to ask!

คำสั่ง WP-CLI ทั่วไปถึง Master: wp term | เพรสแล็บส์ (2024)

References

Top Articles
Latest Posts
Article information

Author: Margart Wisoky

Last Updated:

Views: 6140

Rating: 4.8 / 5 (58 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Margart Wisoky

Birthday: 1993-05-13

Address: 2113 Abernathy Knoll, New Tamerafurt, CT 66893-2169

Phone: +25815234346805

Job: Central Developer

Hobby: Machining, Pottery, Rafting, Cosplaying, Jogging, Taekwondo, Scouting

Introduction: My name is Margart Wisoky, I am a gorgeous, shiny, successful, beautiful, adventurous, excited, pleasant person who loves writing and wants to share my knowledge and understanding with you.