ป้ายกำกับ: ตรวจสอบ

WordPress: เปลี่ยนเวลา post ทั้งหมดให้สม่ำเสมอWordPress: เปลี่ยนเวลา post ทั้งหมดให้สม่ำเสมอ

สมมุติว่าเราต้องการให้แสดงบทความล่วงหน้าทุก ๆ 7:00 ทำได้โดยการตั้ง “เผยแพร่” Publish เอาไว้ แต่ถ้ามันหลาย ๆ post การที่จะมาเปลี่ยน manual มันก็ไม่เหมาะเท่าไหร่ เลยเขียน UPDATE SQL ดีกว่า


Script ตรวจสอบก่อน ( Preview )

ก่อนที่จะ update แล้วลุ้นว่าเขียนเงื่อนไขได้ถูกต้องมั๋ย คุณก็ควรจะต้องเขียน test script ก่อนจะได้แน่ใจว่าข้อมูลมันถูกต้องจริง ๆ เพราะว่า การแก้ปัญหา มันยากกว่า การป้องกัน

SELECT 
 ID, 
 post_title, 
 post_date AS original_date, 
 CONCAT(DATE(post_date), ' 07:00:00') AS new_date,
 post_date_gmt AS original_gmt,
 CONCAT(DATE(post_date_gmt), ' 07:00:00') AS new_gmt
FROM wp_posts
WHERE post_date IS NOT NULL
LIMIT 100;

Script แก้ไขจริง ( Update )

เมื่อตรวจสอบว่าถูกต้องแล้ว ให้รันคำสั่งนี้เพื่อแก้ไขข้อมูลจริง

UPDATE wp_posts
SET 
 post_date = CONCAT(DATE(post_date), ' 07:00:00'),
 post_date_gmt = CONCAT(DATE(post_date_gmt), ' 07:00:00')
WHERE 
 post_date IS NOT NULL;

Script ตรวจสอบหลังแก้ไข ( Verify )

รันเพื่อดูผลลัพธ์หลังจากแก้ไข

SELECT 
 ID, 
 post_title, 
 post_date, 
 post_date_gmt
FROM wp_posts
ORDER BY ID DESC
LIMIT 100;

อ่านเพิ่มเติม