Zarządzaj komentarzami WordPress za pomocą poleceń MySQL

Jakiś czas temu pokazałem, jak zarządzać witrynami WordPress za pomocą poleceń – za pomocą skryptu Perla . W tym przypadku pokażę Ci, jak zarządzać komentarzami WordPress za pomocą zapytań SQL, czyli poleceń w konsoli MySQL.

Pierwszą rzeczą, o której należy pamiętać, jest to, że muszą mieć dostęp do terminala lub konsoli MySQL, załóżmy, że uzyskujemy dostęp do serwera przez SSH i wewnątrz niego piszemy:

mysql -u root -p
Zakładając, że nasz użytkownik MySQL jest rootem, jeśli jest inny, po prostu zmień root dla swojego użytkownika

Po wpisaniu tego i naciśnięciu Enter , pojawi się prośba o podanie hasła użytkownika MySQL. Wpisz je, ponownie naciśnij Enter i gotowe – jesteś zalogowany.

mysql-terminal-access

Po wejściu do powłoki MySQL musimy wskazać, której bazy danych będziemy używać, możesz zobaczyć dostępne bazy danych za pomocą:

Pokaż baz danych;
W MySQL jest bardzo ważne instrukcje zawsze kończą się średnikiem;

Jak już wspomniałem, pokaże Ci to dostępne bazy danych. Załóżmy, że ta, której szukasz, nazywa się sitiowordpress i użyjmy jej:

użyj sitewordpress;

Przyjrzyjmy się, jak nazywają się tabele:

pokaż stoły;

To powie nam nazwy tabel, niezwykle ważne, ponieważ musimy zobaczyć, jaka dokładnie jest nazwa tabeli związanej z komentarzami: komentarze

Zwykle nazywa się to wp_comments lub podobnie, ważne jest, aby zawsze kończyło się na: komentarze

Usuń komentarze SPAM

W tej linii wszystkie komentarze oznaczone jako SPAM zostaną usunięte:

USUŃ z wp_comments WHERE comment_approved = 'spam';
Pamiętaj, jeśli mówi ci, że tabela wp_comments nie istnieje, musisz zmienić wp_comments na dokładną nazwę tabeli komentarzy, nazwę powyżej po tabelach pokazów; ukazał się im

Usuń wszystkie komentarze oczekujące na moderację

USUŃ Z wp_comments WHERE comment_approved = '0';

Zastąp tekst we wszystkich komentarzach

Załóżmy, że chcemy wyszukać we wszystkich komentarzach słowo „polityczny” i zastąpić je słowem „skorumpowany”, wyglądałoby to tak:

AKTUALIZACJA wp_comments SET `comment_content` = REPLACE (` comment_content`, 'politicos', 'evilos');

Usuń komentarze na podstawie adresu URL witryny autora

Załóżmy, że z jakiegoś powodu chcemy wyeliminować wszystkie komentarze każdego użytkownika, który komentując, podał w formularzu komentarza dane (imię i nazwisko, strona i adres e-mail), że ich strona to http://taringa.com przykład), wyglądałoby to tak:

USUŃ z wp_comments WHERE comment_author_url LIKE 'http://taringa.com';

Zamknij komentarze do starych artykułów

Znam ludzi, którzy chcą zamknąć komentarze do starych postów na swoich stronach, więc muszą edytować posty jeden po drugim, aby wyłączyć opcję „komentarze włączone” w każdym z nich, ta linia rozwiąże ich życie:

AKTUALIZACJA wp_posts SET comment_status = 'zamknięte' GDZIE post_date <'2010-02-10' AND post_status = 'publikuj';

Jak widać na środku linii znajduje się data 2010-02-10, czyli wszystkie posty, które zostały opublikowane i mają datę publikacji niższą niż 10 lutego 2010 (czyli zostały opublikowane wcześniej ) zamknie komentarze, nikt nie będzie już mógł ich komentować.

Zamknij komentarze do wszystkich artykułów

Jeśli nie chcesz zamykać komentarzy tylko w niektórych postach, ale we wszystkich, ta linia pomoże ci:

UPDATE wp_posts SET comment_status = 'zamknięte', ping_status = 'zamknięte' WHERE comment_status = 'otwarte';

Jeśli chcesz to odwrócić, zmień zamknięte na otwarte i odwrotnie, i voila, ponownie wykonaj wiersz ze zmianami.

Usuń komentarze dodane w określonym przedziale czasu

Załóżmy, że chcemy usunąć wszystkie komentarze, które zostały dodane 1 kwietnia 2014 r. Między 4:15 po południu a 10:40 w nocy, wiersz będzie wyglądał następująco:

USUŃ Z wp_comments WHERE comment_date> „2014-04-01 16:15:00” AND comment_date <= „2014-04-01 22:40:00”;

Jak widać, czas ma format 24-godzinny, czyli czas wojskowy.

Koniec!

Cóż, nic więcej do dodania, wiem, że niejeden uzna to za interesujące.

pozdrowienia


Dodaj jako preferowane źródło w Google