Exclua todos os posts que NÃO possuem uma etiqueta específica

Estou tentando limpar um DB de 4000 postagens e os editores TAGGED as postagens que eles querem manter com uma tag “audit2017”. Existe uma maneira com SQL para selecionar todas as postagens * sem essa tag e excluí-las?

Não tenho muita experiência com o SQL, mas posso gerenciar isso se eu tivesse a consulta correta.

Qualquer ajuda apreciada, obrigado!

Solutions Collecting From Web of "Exclua todos os posts que NÃO possuem uma etiqueta específica"

Estava olhando para isso para ajudá-lo a encontrar uma solução. Não consigo encontrar um para o painel sql, mas acho que você pode primeiro obter todas as postagens que não possuem esse ID de tag (como mostrado aqui https://codex.wordpress.org/Class_Reference/WP_Query ):

$query = new WP_Query( array( 'tag__not_in' => array( 37, 47 ) ) );

E, em seguida, exclua-os usando algum php:

  • https://developer.wordpress.org/reference/functions/wp_delete_post/
  • outro exemplo: http://wordpress.stackexchange.com/questions/48214/manually-delete-post-from-database

Este plugin foi perfeito se o cliente fizesse o exato oposto, adicionando uma tag específica a todas as postagens que ele NÃO QUISA manter: https://wordpress.org/plugins/bulk-delete/

Espero que esta informação ajude.