Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Usuwanie zduplikowanych komentarzy wordpress z bazy mySQL
Forum PHP.pl > Forum > Przedszkole
jackbale
Witam,

Mam bloga opartego na Wordpressie. Blog jest mocno rozbudowany i ostatnio zauważyłem, że w niektórych postach powtarzają się komentarze - czasami po 2 czy 3 razy. Ogólnie komentarzy jest naprawdę sporo i postów też, więc postanowiłem napisać skrypt który wyczyściłby tabelę wp_comments z niechcianych duplikatów. Chciałem, żeby scrypt porównywał ze sobą komentarze z danego posta i usuwał wszytkie powtórzone (nawet jeśli autor jest niby inny).

Napisałem coś takiego:

  1. <?php
  2.  
  3.  
  4. include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
  5.  
  6. global $wpdb;
  7.  
  8. $comments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."_comments"
  9. ." ORDER BY comment_post_ID, comment_content");
  10.  
  11. $prev = NULL;
  12.  
  13. foreach($comments as $comment) {
  14.  
  15. if ($prev && $prev->comment_content == $comment->comment_content
  16. && $prev->comment_post_ID == $comment->comment_post_ID ) {
  17.  
  18. $wpdb->query("DELETE FROM ".$wpdb->prefix."_comments WHERE comment_ID == ".$comment->comment_ID);
  19.  
  20. }
  21. else
  22. $prev = $comment;
  23. }
  24.  
  25. $wpdb->print_error();
  26. ?>
  27.  


Na razie wgrałem ten plik pod nazwą test.php na serwer do folderu gdzie jest wp-config.php. Jak odpalam go z przeglądarki http://nazwadomeny.pl/test.php to nie wywala żadnych błędów (czyli niby działa) ale efektów brak. Żaden ze zduplikowanych komentarzy nie został usunięty.

Czy może mi ktoś wskazać, gdzie popełniłem błąd?
nospor
A od kiedy w mysql masz == ?
A na przyszłość sprawdzaj czy zapytanie się wykonało poprawanie...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.