WordPRess จัดเก็บข้อมูลทั้งหมด (รวมถึงโพสต์ เพจ ความคิดเห็น ลิงก์บล็อก การตั้งค่าปลั๊กอิน ฯลฯ) ไว้ในฐานข้อมูล MySQL แม้ว่าผู้ใช้ WordPress จะสามารถควบคุมส่วนข้อมูลข้างต้นผ่านการแก้ไขพื้นหลังของเว็บไซต์ได้ ได้ในระดับหนึ่ง.
แต่สมมติว่าคุณมีบทความหลายร้อยหรือหลายพันบทความบนเว็บไซต์ WordPress ของคุณและคุณจำเป็นต้องทำการเปลี่ยนแปลงทั่วทั้งไซต์ ในขณะนี้ การแก้ไขบทความทีละบทความจากเบื้องหลังนั้นใช้เวลานานและลำบากเล็กน้อย และมีโอกาสที่จะทำผิดพลาดได้ ก็จะเพิ่มขึ้นเช่นกัน วิธีที่ดีที่สุดคือเข้าไปในฐานข้อมูล MySQL ของ WordPress และดำเนินการค้นหาที่จำเป็น (การเปลี่ยนแปลง) งานข้างต้นสามารถดำเนินการให้เสร็จสิ้นได้อย่างรวดเร็วผ่าน MySQL ซึ่งช่วยให้คุณประหยัดเวลาได้มากขึ้น
ต่อไปนี้เป็นวิธีการสืบค้น WordPress SQL ที่ประหยัดเวลาและแรงงาน
กลับกันก่อน
ฐานข้อมูล WordPress จะจัดเก็บทุกโพสต์ที่คุณเผยแพร่อย่างระมัดระวัง ความคิดเห็นทั้งหมดจากผู้อ่านของคุณ และการปรับเปลี่ยนในแบบของคุณทั้งหมดที่คุณทำกับเว็บไซต์ของคุณ ดังนั้นไม่ว่าคุณจะมั่นใจแค่ไหน โปรดอย่าลืมสำรองฐานข้อมูล WordPress ของคุณไว้ล่วงหน้า คุณสามารถสำรองข้อมูลผ่านปลั๊กอินสำรองได้
เพิ่มฟิลด์ที่กำหนดเองให้กับโพสต์และเพจทั้งหมด
รหัสนี้จะเพิ่มฟิลด์ที่กำหนดเองให้กับโพสต์และหน้าทั้งหมดในฐานข้อมูล WordPress สิ่งที่คุณต้องทำคือแทนที่ 'UniversalCutomField' ในโค้ดด้วยข้อความที่คุณต้องการ จากนั้นเปลี่ยน 'MyValue' เป็นค่าที่ต้องการ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
แทรกลงใน wp_postmeta (post_id, meta_key, meta_value)
เลือกรหัสเป็น post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value จาก wp_postsWHERE ID ไม่ได้อยู่ใน (เลือก post_id จาก wp_postmeta WHERE meta_key = 'UniversalCustomField');
หากคุณต้องการเพิ่มฟิลด์ที่กำหนดเองลงในบทความ คุณสามารถใช้โค้ดต่อไปนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
แทรกลงใน wp_postmeta (post_id, meta_key, meta_value)
เลือกรหัสเป็น post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
จาก wp_posts โดยที่ ID ไม่ได้อยู่ใน
(เลือก post_id จาก wp_postmeta โดยที่ meta_key = 'UniversalCustomField')`` และ post_type = 'post';
หากคุณเพียงต้องการเพิ่มฟิลด์ที่กำหนดเองลงในเพจ คุณสามารถใช้โค้ดต่อไปนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
แทรกลงใน wp_postmeta (post_id, meta_key, meta_value)
เลือกรหัสเป็น post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
จาก wp_posts โดยที่ ID ไม่ได้อยู่ใน
(เลือก post_id จาก wp_postmeta โดยที่ meta_key = 'UniversalCustomField') และ `post_type` = 'หน้า';
ลบข้อมูลเมตาของบทความ
เมื่อคุณติดตั้งหรือลบปลั๊กอิน ระบบจะจัดเก็บข้อมูลผ่านโพสต์เมตาแท็ก หลังจากลบปลั๊กอินแล้ว ข้อมูลจะยังคงอยู่ในตาราง post_meta แน่นอนว่าคุณไม่ต้องการข้อมูลอีกต่อไปและสามารถลบออกได้ อย่าลืมแทนที่ 'YourMetaKey' ในโค้ดด้วยค่าที่เกี่ยวข้องที่คุณต้องการก่อนเรียกใช้แบบสอบถาม
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบจาก wp_postmeta โดยที่ meta_key = 'YourMetaKey';
ค้นหาแท็กที่ไร้ประโยชน์
หากคุณดำเนินการค้นหาในฐานข้อมูล WordPress เพื่อลบบทความเก่า เช่นเดียวกับเมื่อคุณลบปลั๊กอินก่อนหน้านี้ แท็กที่เป็นของบทความจะยังคงอยู่ในฐานข้อมูลและจะปรากฏในรายการแท็ก/แท็กคลาวด์ด้วย ข้อความค้นหาต่อไปนี้สามารถช่วยคุณค้นหาแท็กที่ไม่มีประโยชน์ได้
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
SELECT * จาก wp_terms wtINNER เข้าร่วม wp_term_taxonomy wtt ON wt.term_id=wtt.term_id
โดยที่ wtt.taxonomy='post_tag' และ wtt.count=0;
ลบความคิดเห็นที่เป็นสแปมเป็นกลุ่ม
ดำเนินการคำสั่ง SQL ต่อไปนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบออกจาก wp_comments โดยที่ wp_comments.comment_approved = 'spam';
ลบความคิดเห็นที่ไม่ได้รับการตรวจสอบทั้งหมดเป็นกลุ่ม
แบบสอบถาม SQL นี้จะลบความคิดเห็นที่ไม่ได้รับการตรวจสอบทั้งหมดบนเว็บไซต์ของคุณและจะไม่ส่งผลกระทบต่อความคิดเห็นที่ได้รับการตรวจสอบ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบออกจาก wp_comments โดยที่ comment_approved = 0
ปิดการใช้งานความคิดเห็นในบทความเก่า
ระบุค่าของ comment_status เป็นเปิด ปิด หรือ register_only นอกจากนี้คุณต้องตั้งวันที่ (แก้ไข 2010-01-01 ในรหัส):
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET comment_status = 'ปิด' โดยที่ post_date < '2010-01-01' และ post_status = 'เผยแพร่';
ปิดการใช้งาน/เปิดใช้งาน trackback และ pingback
ระบุค่าของ comment_status เป็นเปิด ปิด หรือ register_only
เปิดใช้งาน Pingbacks/Trackbacks ให้กับผู้ใช้ทุกคน:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET ping_status = 'เปิด';
ปิดการใช้งาน Pingbacks/Trackbacks สำหรับผู้ใช้ทั้งหมด:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET ping_status = 'ปิด';
เปิด/ปิดใช้งาน Pingbacks & Trackbacks จากวันที่กำหนด
ระบุค่าของ ping_status เป็นเปิด ปิด หรือ register_only นอกจากนี้คุณต้องตั้งวันที่ (แก้ไข 2010-01-01 ในรหัส):
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET ping_status = 'ปิด' โดยที่ post_date < '2010-01-01' และ post_status = 'เผยแพร่';
ลบความคิดเห็นสำหรับ URL ที่ระบุ
เมื่อคุณพบความคิดเห็นที่เป็นสแปมจำนวนมากที่มีลิงก์ URL เดียวกัน คุณสามารถใช้แบบสอบถามต่อไปนี้เพื่อลบความคิดเห็นเหล่านี้ได้ในคราวเดียว % หมายความว่า URL ทั้งหมดที่มีสตริงภายในสัญลักษณ์ "%" จะถูกลบ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบออกจาก wp_comments โดยที่ comment_author_url LIKE "%nastyspamurl%" ;
ระบุและลบบทความที่เก่ากว่า "X" วัน
ค้นหาบทความทั้งหมดก่อน "X" วันที่ผ่านมา (หมายเหตุเพื่อแทนที่ X ด้วยค่าที่เกี่ยวข้อง):
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
เลือก * จาก `wp_posts`
โดยที่ `post_type` = 'โพสต์' และ DATEDIFF(ตอนนี้(), `post_date`) > X
ลบบทความทั้งหมดที่เก่ากว่า "X" วัน:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบจาก `wp_posts`
โดยที่ `post_type` = 'โพสต์' และ DATEDIFF(ตอนนี้(), `post_date`) > X
ลบรหัสย่อที่ไม่จำเป็น
รหัสย่อจะไม่หายไปโดยอัตโนมัติเมื่อคุณตัดสินใจว่าไม่ต้องการใช้อีกต่อไป คุณสามารถลบรหัสย่อที่ไม่ต้องการทั้งหมดได้ด้วยคำสั่งสืบค้น SQL แบบง่ายๆ แทนที่ "ทวีต" ด้วยชื่อรหัสย่อที่เกี่ยวข้อง:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_post SET post_content = แทนที่ (post_content, '[ทวีต]', '' );
แปลงบทความเป็นหน้า
ยังคงเพียงแค่เรียกใช้แบบสอบถาม SQL ผ่าน phpMyAdmin:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET post_type = 'หน้า' โดยที่ post_type = 'โพสต์'
แปลงหน้าเป็นบทความ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET post_type = 'โพสต์' WHERE post_type = 'หน้า'
เปลี่ยนคุณลักษณะของผู้เขียนในทุกโพสต์
ขั้นแรกให้ดึงข้อมูล ID ของผู้เขียนผ่านคำสั่ง SQL ต่อไปนี้:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
เลือก ID, display_name จาก wp_users;
หลังจากได้รับ ID เก่าและใหม่ของผู้เขียนเรียบร้อยแล้ว ให้ใส่คำสั่งต่อไปนี้ อย่าลืมแทนที่ NEW_AUTHOR_ID ด้วย ID ผู้เขียนใหม่และ OLD_AUTHOR_ID ด้วย ID ผู้เขียนเก่า
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET post_author=NEW_AUTHOR_ID โดยที่ post_author=OLD_AUTHOR_ID;
ลบประวัติการแก้ไขบทความเป็นชุด
การบันทึกประวัติการแก้ไขบทความสามารถทำได้ทั้งในทางปฏิบัติและน่ารำคาญ คุณสามารถลบประวัติการแก้ไขด้วยตนเอง หรือคุณสามารถใช้คำสั่ง SQL เพื่อประหยัดเวลาได้
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
ลบจาก wp_posts โดยที่ post_type = "การแก้ไข";
ปิดการใช้งาน/เปิดใช้งานปลั๊กอิน WordPress ทั้งหมด
หลังจากเปิดใช้งานปลั๊กอินแล้ว คุณพบว่าคุณไม่สามารถเข้าสู่แผงการจัดการ WordPress ได้ ลองใช้คำสั่งแบบสอบถามต่อไปนี้ มันจะปิดการใช้งานปลั๊กอินทั้งหมดทันทีและอนุญาตให้คุณเข้าสู่ระบบอีกครั้ง
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_options SET option_value = 'a: 0: {}' โดยที่ option_name = 'active_plugins';
เปลี่ยน URL เป้าหมายของเว็บไซต์ WordPress ของคุณ
หลังจากย้ายบล็อก WordPress ของคุณ (ไฟล์เทมเพลต เนื้อหาที่อัปโหลด และฐานข้อมูล) จากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง คุณจะต้องแจ้ง WordPress ที่อยู่บล็อกใหม่ของคุณต่อไป
เมื่อใช้คำสั่งต่อไปนี้ อย่าลืมแทนที่ http://www.old-site.com ด้วย URL เดิมของคุณ และแทนที่ http://www.new-site.com ด้วยที่อยู่ URL ใหม่
อันดับแรก:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_options
SET option_value = แทนที่ (option_value, 'http://www.old-site.com', 'http://www.new-site.com')
โดยที่ option_name = 'บ้าน' หรือ option_name = 'siteurl';
จากนั้นใช้คำสั่งต่อไปนี้เพื่อเปลี่ยน URL ใน wp_posts:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET guid = แทนที่ (guid, 'http://www.old-site.com','http://www.new-site.com);
สุดท้าย ให้ค้นหาเนื้อหาบทความเพื่อให้แน่ใจว่า URL ใหม่จะไม่สับสนกับลิงก์ต้นฉบับ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts
SET post_content = แทนที่ (post_content, ' http://www.ancien-site.com ', ' http://www.nouveau-site.com ');
เปลี่ยนชื่อผู้ใช้เริ่มต้นผู้ดูแลระบบ
แทนที่ YourNewUsername ด้วยชื่อผู้ใช้ใหม่ของคุณ
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_users SET user_login = 'ชื่อผู้ใช้ใหม่ของคุณ' โดยที่ user_login = 'ผู้ดูแลระบบ';
รีเซ็ตรหัสผ่าน WordPress ด้วยตนเอง
หากคุณเป็นผู้เขียนเพียงคนเดียวบนไซต์ WordPress ของคุณและคุณไม่ได้เปลี่ยนชื่อชื่อผู้ใช้เริ่มต้น คุณสามารถใช้แบบสอบถาม SQL ต่อไปนี้เพื่อรีเซ็ตรหัสผ่านของคุณ (แทนที่ PASSWORD ด้วยรหัสผ่านใหม่):
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต `wordpress`.`wp_users` SET `user_pass` = md5('PASSWORD')
โดยที่ `wp_users`.`user_login` =`admin` จำกัด 1;
ค้นหาและแทนที่เนื้อหาบทความ
OriginalText จะถูกแทนที่ด้วยเนื้อหาที่ถูกแทนที่ และ RefedText จะถูกแทนที่ด้วยเนื้อหาเป้าหมาย:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_posts SET `post_content`
= แทนที่ (`โพสต์_เนื้อหา`,
'ข้อความต้นฉบับ', 'ข้อความที่ถูกแทนที่');
เปลี่ยน URL รูปภาพ
คำสั่ง SQL ต่อไปนี้สามารถช่วยคุณแก้ไขเส้นทางรูปภาพ:
ต่อไปนี้เป็นเนื้อหาที่ยกมา:
อัปเดต wp_postsSET post_content = แทนที่ (post_content, 'src="http://www.myoldurl.com',
'src=”http://www.mynewurl.com’);
แหล่งที่มา
เวิร์ดเพรสคอมไพล์แล้ว