wp-cli / wp-cli/entity-command

Add an `--all` flag to `wp comment delete`

Open
#538 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

command:comment-delete state:unconfirmed
Dominant language
PHP
Stars
105
Forks
97
Avg merge
2h 1m
Merged PRs (30d)
12

Description

Feature Request

Describe your use case and the problem you are facing

A website under my purview had hundreds of thousands of spam comments. It would be nice to be able to remove them in one fell swoop without having to resort to database queries (truncate wp_comments; truncate wp_commentmeta;).

Describe the solution you'd like

I'd like to add a flag to the wp comment delete subcommand:

wp comment delete --all

This may have a confirmation prompt along the lines of "Are you sure you want to delete XXXXX comments? (Y/n)" There might also be a "--yes" option for non-interactive use:

wp comment delete --all --yes

The addition of the "--all" flag would mirror similar-ish flags for the wp plugin delete --all and wp theme delete --all commands.

I'm aware that the wp site empty command also removes all comments, but this is a little bit different.

I'd be happy to take a stab at adding this modification, if approved.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the wp comment delete entry point and compare its behavior with wp plugin delete --all, wp theme delete --all, and wp site empty. Clarify the confirmation and --yes requirements before implementing; done means wp comment delete --all removes all comments safely, with the intended non-interactive behavior covered by tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
cli
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.