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
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.
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;
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';
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