CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%
Bỗng một ngày, khi truy cập vào admin, bạn tá hỏa khi thấy danh sách bài viết ở mục chia sẻ tin tức có hàng ngàn tin rác – spam toàn tiếng Anh hoặc Tiếng nước ngoài. Bạn đang rất lo lắng, không biết phải làm sao.
Tuy nhiên để xóa hết tất cả các bài spam này phải tốn rất nhiều thời gian, gặp phải trường hợp số lượng lên tới hơn cả chục ngàn post. Bạn không thể chọn hết 1 lần và thực hiện thao tác được.
Bài viết này giúp các bạn xử lý nhanh gọn lẹ bằng câu lệnh SQL trong Database, bạn có thể làm theo các bước sau nhé.
Cảnh báo: Trước khi thực hiện xóa các bước bên dưới – chắc chắn rằng bạn đã backup, sao lưu đầy đủ dữ liệu nhé.
1. Xóa tất cả các bài viết rác – spam bằng câu lệnh
/* Xóa tất cả các Meta của bài viết */ DELETE FROM `wp_postmeta` WHERE `post_id` in (SELECT ID FROM `wp_posts` t Where t.post_type = 'post' and t.ID >= REPOST_ID ); /* Xóa tất cả các bài viết */ DELETE FROM `wp_posts` Where `post_type` = 'post' and ID >= REPOST_ID ;
Chú ý:
- REPOST_ID thay bằng số ID của bài viết, ví dụ: 99, hay 305
- wp_ bạn cần thay đổi lại table_prefix ( tìm trong file wp-config.php )
- post_type thay bằng các post của bạn cần xóa
Truy cập vào PHPMYADMIN, chọn tab SQL để chạy câu lệnh như trên.
Hoặc có thể sử dụng đoạn code sau chạy trong functions.php
if( is_admin() ): global $wpdb; $sql_postmeta = "DELETE FROM `$wpdb->postmeta` WHERE `post_id` in (SELECT ID FROM `$wpdb->posts` t Where t.post_type = 'post' and t.ID >= REPOST_ID )"; $wpdb->query($wpdb->prepare($sql_postmeta)); $sql_post = "DELETE FROM `$wpdb->posts` Where `post_type` = 'post' and ID >= REPOST_ID"; $wpdb->query($wpdb->prepare($sql_post )); endif;
Chú ý:
- REPOST_ID thay bằng số ID của bài viết, ví dụ: 99, hay 305
2. Xóa tất cả các Danh Mục – Chuyên Mục – Taxonomy rác – spam
Sao chép đoạn code này vào functions.php trong theme đang dùng.
if(is_admin()): function wpshare247_delete_all_terms(){ $taxonomy_name = 'category'; $terms = get_terms( array( 'taxonomy' => $taxonomy_name, 'hide_empty' => false, 'number' => 100 ) ); foreach ( $terms as $term ) { wp_delete_term($term->term_id, $taxonomy_name); // if(!in_array($term->term_id, array(7,6,5,4))){ // wp_delete_term($term->term_id, $taxonomy_name); // } } } wpshare247_delete_all_terms(); endif;
Tiếp theo đăng nhập vào admin, chờ câu lệnh được thực thi.
- $taxonomy_name = ‘category’ => có thể thay thế bằng taxonomy của mình.
- ‘number’ => 100 => số lượng term được xóa, sau khi xóa xong, nhớ refresh f5 để câu lệnh tiếp tục chạy nhé.
- array(7,6,5,4) => bạn có thể loại trừ term id nếu bỏ qua các term này.
Vấn đề tiếp theo
Có thể Website của bạn đã bị các Hacker ghé thăm rồi đấy, bước tiếp theo là bạn hãy xử lý sạch sẽ các mã độc để ngăn ngừa tái phát nhé.
Sau khi xử lý sạch sẽ virus, làm sao để ngăn chặn WordPress bị tấn công, bạn tham khảo video bên dưới nhé.
CHƯƠNG TRÌNH GIẢM 50% GIÁ TẤT CẢ CÁC GÓI HOSTING WORDPRESS => Link giảm 50%