Skip to content

Add ranges to commands that accept one or more IDs #105

@schlessera

Description

@schlessera

For commands that accept one or more IDs as positional parameters, I would like to investigate adding ranges and partial ranges as valid IDs.

A range would take the following form: <range start>-<range end>. This would mean that all existing IDs that fall into the range that starts at <range start> and ends at <range end> would be included.

Example: 15-35 would mean all IDs starting from 15 and going up to and including 35 would be processed. Only valid existing IDs within that range would be processed, so that no warnings are being thrown for missing IDs in-between.

A partial range would take one of these forms: <range start>- or -<range-end>. This would mean that either all existing IDs starting from <range start> without any upper bound or all existing IDs from 1 onwards up to and including <range end> would be included.

Ranges and individual IDs can be combined in any way, so you can use something like the following: 3 7 12-24 19 34-.

Commands that could profit from this range notation:

  • comment approve
  • comment delete
  • comment recount
  • comment spam
  • comment trash
  • comment unapprove
  • comment unspam
  • comment untrash
  • comment update
  • embed cache clear (*)
  • embed cache trigger (*)
  • media regenerate
  • post delete
  • post meta delete (*)
  • post meta update (*)
  • post update
  • site activate
  • site archive
  • site deactivate
  • site delete (*)
  • site mature
  • site private
  • site public
  • site spam
  • site unarchive
  • site unmature
  • site unspam
  • term delete
  • term meta delete (*)
  • term meta update (*)
  • term update (*)
  • user add-cap (*)
  • user add-role (*)
  • user delete
  • user meta delete (*)
  • user meta update (*)
  • user remove-cap (*)
  • user remove-role (*)
  • user reset-password
  • user set-role (*)
  • user spam
  • user unspam
  • user update
  • widget delete
  • widget move (*)
  • widget update (*)

(*) => not variadic yet

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions