/ / Usuń wszystkie posty wykonane w ciągu ostatnich X dni w WordPress - php, mysql, wordpress, cron

Usuń wszystkie posty wykonane w ciągu ostatnich X dni w WordPress - php, mysql, wordpress, cron

Zastanawiam się, czy ktoś z was zaimplementował taki skrypt w PHP lub mysql, który działa przez cronjob.

Chcę usunąć każdy post, który został złożony w ciągu ostatnich dni, za pomocą prostego polecenia. Zastanawiałem się czy

DELETE FROM wp_posts WHERE post_date < DATE_SUB(NOW(), INTERVAL 30 DAY);

Będę tam pracował. Co sugerujesz?

Odpowiedzi:

0 dla odpowiedzi № 1

Twoja linia MySQL nie wystarczy. Aby całkowicie usunąć wpis, musisz również usunąć następujące elementy:

  • odpowiednie dane meta po wp_postmeta stół
  • komentarze od wp_comments stół
  • metadane w wp_commentmeta tabela dla tych komentarzy

Jeśli chodzi o zapewnienie właściwego rozwiązania, następujące wtyczki wykonują to, czego potrzebujesz:

Ponadto, jeśli po prostu starasz się utrzymać porządek w bazie danych, możesz dodać ten wiersz kodu do swojego wp-config.php plik define( "WP_POST_REVISIONS", 8 ); To powstrzymuje WordPress przed tworzeniem nieskończonej liczby korekt postów w bazie danych. Nie twój określony problem, ale przydatny.