Skip to content

Don't require the --force flag for deleting already trashed posts #292

@ocean90

Description

@ocean90
Contributor

Bug Report

Describe the current, buggy behavior

The wp post delete command has this example

* # Delete all posts in the trash
* $ wp post delete $(wp post list --post_status=trash --format=ids)
* Success: Deleted post 1268.
* Success: Deleted post 1294.

Running this example for a custom post type doesn't work because the --force flag is missing, introduced in #188.

Describe how other contributors can replicate this bug

  • Create a CPT
  • Create a post for that CPT and trash it manually
  • Now try to delete the post

Describe what you would expect as the correct outcome

The post should be deleted without a warning because it's already in trash.

Provide a possible solution

Skip the check in

if ( ! $assoc_args['force']
&& ( 'post' !== $post_type && 'page' !== $post_type ) ) {
return [
'error',
"Posts of type '{$post_type}' do not support being sent to trash.\n"
. 'Please use the --force flag to skip trash and delete them permanently.',
];
}
if$status is trash.

Activity

danielbachhuber

danielbachhuber commented on Jul 13, 2023

@danielbachhuber
Member

Thanks for the suggestion, @ocean90

I'm open to making this change, although it'd technically be a breaking change so we'd need to communicate such accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @danielbachhuber@ocean90

        Issue actions

          Don't require the --force flag for deleting already trashed posts · Issue #292 · wp-cli/entity-command