Trong một số trường hợp chúng ta cần cập nhật lại nội dung trong database như các thiết lập của website thì có thể tìm các plugin để hỗ trợ làm nhanh hơn, nhưng không phải lúc nào chúng ta cũng cài plugin vào vì đôi lúc chỉ cần sửa một vài lệnh SQL là có thể làm được. Trong bài này, mình giới thiệu cho bạn một số lệnh SQL mà có thể bạn sẽ cần thiết để sử dụng trong khi dùng WordPress.
1. Làm sao để chạy lệnh SQL?
Đối với phpMyAdmin
Bạn truy cập vào trang phpMyAdmin trên host, chọn database bạn cần chỉnh sửa và ấn nút SQL và nhập lệnh vào, nhập xong ấn nút Go ở dưới.
Sử dụng lệnh SQL trong phpMyAdmin
Đối với Terminal
Nếu bạn dùng máy chủ không có phpMyAdmin thì có thể đăng nhập vào MySQL Server với lệnh mysql -uroot -p.
Sau đó chọn database bằng lệnh:
[sql]
USE tên_database;[/sql]
Và gõ lệnh SQL rồi Enter.
Sử dụng plugin
Bạn cũng có thể sử dụng plugin SQL Executioner để sử dụng lệnh SQL ngay trong bảng quản trị WordPress.
Lưu ý về Table Prefix (tiền tố database)
Trong bài này, các đoạn lệnh mình sẽ lấy ví dụ với tiền tố wp_ trong các table dữ liệu, vậy nên nếu bạn sử dụng một tiền tố khác thì hãy đổi lại để tránh lỗi không tìm thấy table database cần xử lý.
2. Các lệnh SQL cho WordPress
Đóng/Mở bình luận cho toàn bộ post
[sql]UPDATE wp_posts SET comment_status="open" AND ping_status="open"[/sql]
Ở trên là lệnh mở comment, bạn có thể thay open thành closed để đóng comment.
Xoá bình luận spam
[sql]DELETE FROM wp_comments WHERE comment_approved = ‘spam’;[/sql]
Trong đó, giá trị spam bạn có thể sửa thành các giá trị sau để xoá các loại bình luận khác:
0 – Bình luận chưa duyệt.
1 – Bình luận đã duyệt.
Xoá tag không sử dụng
Có thể trên blog bạn có rất nhiều các tag không được phân loại cho post nào, lệnh này sẽ giúp bạn xoá toàn bộ các tag không sử dụng đến.
[sql]
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
[/sql]
Xoá Revision của Post
[sql]
DELETE a,b,c FROM wp_posts a WHERE a.post_type = ‘revision’ LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);
[/sql]
Xoá các post cũ sau số ngày nhất định
Dưới đây là lệnh xoá toàn bộ post nếu cũ hơn 365 ngày.
[sql]
DELETE FROM `wp_posts`
WHERE `post_type` = ‘post’
AND DATEDIFF(NOW(), `post_date`) > 365
[/sql]
Tắt toàn bộ plugin
[sql]UPDATE wp_options SET option_value = ” WHERE option_name = ‘active_plugins’;[/sql]
Xoá toàn bộ pingback
[sql]DELETE FROM wp_comments WHERE comment_type = ‘pingback’;[/sql]
Thêm custom field vào toàn bộ Post
[sql]
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, ‘ten-field’
AS meta_key ‘giá-trị AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = ‘ten-field’)
“ AND post_type = ‘post’;
[/sql]
Chuyển post type
[sql]UPDATE wp_posts SET post_type = ‘page’ WHERE post_type = ‘post'[/sql]
Trong đó, post là tên post type cũ và page là tên post type mới cần chuyển sang.
Cập nhật mật khẩu mới
[sql]UPDATE `wordpress`.`wp_users` SET `user_pass` = MD5(‘MẬT KHẨU MỚI’) WHERE `wp_users`.`user_login` =`admin` LIMIT 1;[/sql]
Trong đó, admin là tên username cần đổi mật khẩu.
Tìm và thay thế nội dung Post
[sql]
UPDATE wp_posts SET `post_content`
= REPLACE (`post_content`,
‘NỘI DUNG CŨ’,
‘NỘI DUNG MỚI’);
[/sql]
Xoá Cache của RSS Feed
[sql]DELETE FROM `wp_options` WHERE `option_name` LIKE (‘_transient%_feed_%’)[/sql]
Và ở đây tạm thời mình giới thiệu 10 đoạn lệnh thôi, bạn có ý tưởng gì nữa để làm việc bằng lệnh SQL trong WordPress thì nói cho mình biết nhé để mình viết lệnh thêm dành cho bạn.