How To Add One Tag to Multiple Posts?

If you have the ability to use wp-cli on a bash-like shell it’s a handy way to do this:

for ID in $(wp post list --post_type=post --post_status=any --field=ID); do wp post term add $ID post_tag old; done
  • for ID in $(…); do starts a loop for each line of output of the internal command
  • wp post list --post_type=post --post_status=any --field=ID lists all post IDs of posts. It’s in fact a command line interface to WP_Query.
  • wp post term add $ID post_tag old assigns the term old of the taxonomy post_tag to each post of the loop, identified by the loop variable $ID. If the term does not exist, it gets created on the first time.
  • done marks the end of the loop