Suppression de posts en ligne de commande

Vous souhaitez effacer tous vos posts de votre site. “Check all” puis “Apply” est contraignant sur les différentes pages. Il existe une solution alternative en utilisant wpcli.

Voici quelques exemples pour supprimer du contenu :

#Suppression de tous les posts
wp post delete $(wp post list --post_type=post --format=ids) --force

#Suppression de tous les pages
wp post delete $(wp post list --post_type=page --format=ids) --force

#Suppression de tous les posts de type "custom_country"
wp post delete $(wp post list --post_type=custom_country --format=ids) --force

Attention, avec le paramètre –force les lignes supprimées ne seront plus présentes. Rien de sera dans la corbeille.
Si vous souhaitez simplement les mettre dans la corbeille, retirez simplement le paramètre –force.

#Déplacement dans la corbeille de tous les posts
wp post delete $(wp post list --post_type=post --format=ids)

Il est évidemment possible de supprimer un seul post précisemment.

#Suppression du post ayant pour id 3
wp post delete 3

Pour supprimer toutes les catégories des posts, il suffit d’exécuter la commande suivante :

wp term list category --field=term_id | xargs wp term delete category

Cela fonctionne aussi pour des taxonomies custom :

wp term list my_custom_category --field=term_id | xargs wp term delete my_custom_category