web-dev-qa-db-fra.com

Désactiver les fenêtres de commentaires pour toutes les publications existantes (pages/blogs)

Existe-t-il une commande WP-CLI permettant de désactiver les fenêtres de commentaires pour toutes les publications existantes (pages/blogs)?

Je demande cela depuis le moment où je change de thème pour un site que j'ai, toutes les pages de ce site recevant à nouveau leurs fenêtres de commentaires et je dois désactiver individuellement les commentaires pour chaque page.

Sur ce site particulier, j'ai jusqu'à 10 pages Web, mais je souhaiterais que ce soit le cas avec WP-CLI. C'est possible?

Si vous ne connaissez pas WP-CLI, partagez au moins un autre moyen que vous connaissez.

4
user9303970

Voici une suggestion non testée pour l'approche wp-cli:

Nous pouvons répertorier les ID de publication des publications avec open status status avec:

wp post list --post-status=publish --post_type=post comment_status=open --format=ids

et mettre à jour un message dans un statut de commentaire fermé avec:

wp post update 123 --comment_status=closed

où 123 est un identifiant de post.

Nous pouvons ensuite combiner ces deux en:

wp post list --post-status=publish --post_type=post comment_status=open --format=ids \
| xargs -d ' ' -I % wp post update % --comment_status=closed

ou

for post_id in $(wp post list --post_status=publish \
    --post_type=post --comment_status=open --format=ids); \ 
do wp post update $post_id --comment_status=closed; done;

Ensuite, il y a aussi le ping_status à considérer.

Il existe d'autres moyens que wp-cli, mais n'oubliez pas de prendre backup avant les tests.

6
birgire

Vous pouvez exécuter une requête SQL pour modifier le statut des commentaires de toutes les publications à l'aide de la commande wp db query.

wp db query "UPDATE wp_posts SET comment_status = 'closed';"
1
kierzniak