web-dev-qa-db-fra.com

Supprimer toutes les méta-publications sauf l'image sélectionnée Utilisation de SQL

S'il vous plaît, je viens de migrer mon site et j'ai découvert que wp_postmeta consomme la plupart de mes ressources cpu. Existe-t-il un code Sql pour supprimer toutes les méta-publications, à l'exception de l'image présentée? Je ne veux pas utiliser les fonctions wp pour cela. Juste besoin de seulement phpmyadmin code SQL. J'ai lu ceci similaire Post , mais j'ai besoin du code SQL pour cela, pas de fonctions

1
Godwin Alex Ogbonda

J'ai réécrit la fonction à partir du lien de votre question en SQL.
N'oubliez pas que ce script effacera également les modèles de page attribués aux pages.

Faites d'abord une sauvegarde de la table wp_postmeta.

DELETE pm 
FROM wp_postmeta pm LEFT JOIN wp_posts p ON pm.post_id = p.id
WHERE
    (p.post_type IN ('post', 'page') AND pm.meta_key <> '_thumbnail_id')
    OR (p.post_type = 'attachment' AND pm.meta_key <> '_wp_attached_file' 
        AND pm.meta_key <> '_wp_attachment_metadata')
3
nmr