Autmomatyczne usuwanie spamu w Wordpresie

.

WordPress posiada dobry filtr spamu o nazwie Akismet, który potrafi odróżnić komentarze zostawione przez normalnych użytkowników bloga od tych wysyłanych przez spamerów. Komenarze takie są odpowiednio oznaczane i umieszczane w bazie danych. Nie pozostaje nic innego jak permanentnie usunąć wadliwej treść, co można wykonać z pomoca kilku linii kodu.

Komentarze w Wordpresie są przechowywane w tabeli wp_comments (zakładam domyślny prefiks). Jej strukturę można znaleźć w tym wpisie.
Informacje o tym czy komentarz jest spamem są zapisane w kolumnie o nazwie comment_approved. W przypadku spamu, przyjmuje ona wartość "spam". Mając powyższe informacje, aby usunąć spam z bazy danych, możemy posłużyć się kodem jak ten poniżej:


add_action('admin_head','autodelete_spam');
function autodelete_spam(){
  global $wpdb;
  if(is_super_admin()){
    $wpdb -> query('DELETE FROM wp_comments WHERE comment_approved = "spam"');
  }
}

Usuwanie spamu odbywa się za pomocą funkcji autodelete_spam, w której definiujemy proste zapytanie do bazy danych mające na celu usunąć rekordy z kolumną comment_approved o wartości "spam".

Funkcję podłączamy pod akcję admin_head ( jest to odpowiednik wp_head w panelu administracyjnym Wordpresa ).

Kod umieszczamy w pliku functions.php aktywnego motywu.

Usuwanie spamu będzie wykonywane przy każdym zalogowaniu się lub odświeżeniu strony panelu administracyjnego przez administratora bloga. Nie jest to oczywiście rozwiązanie optymalne, aczkolwiek działa całkiem nieźle a do tego umożliwia zrzucenie pewnej pracy z własnych barków na serwer. Every little bit helps, jek mówią Anglicy.


Komentarze ( 2 )


hej, a nie lepiej zainstalowac np. wp-spamfree? czy takie wkladki spowalniaja za bardzo strone? bo ja przewaznie instaluje wp-spamfree zamiast aksiment..


Każda wtyczka będzie spowalniać Wordpresa bardziej niż kilka linii kodu w postaci funkcji w pliku functions.php.


Twój komentarz





Niektóre tagi XHTML są dozwolone
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>