Skip to content

Instantly share code, notes, and snippets.

@jplhomer
Created February 25, 2015 16:38
Show Gist options
  • Save jplhomer/646927e569548bca4f4e to your computer and use it in GitHub Desktop.
Save jplhomer/646927e569548bca4f4e to your computer and use it in GitHub Desktop.
Disable all comments/pings in WordPress with WP-CLI
$ wp post list --format=ids | xargs wp post update --comment_status=closed
# Output:
# Success: Updated post 2514.
# Success: Updated post 2511.
# Success: Updated post 2504.
# Success: Updated post 2499.
# Success: Updated post 2441.
# etc...
$ wp post list --format=ids | xargs wp post update --ping_status=closed
# Output:
# Success: Updated post 2514.
# Success: Updated post 2511.
# Success: Updated post 2504.
# Success: Updated post 2499.
# Success: Updated post 2441.
# etc...
@tyrann0us
Copy link

Disabling pings and comments can be simplified into one command:

wp post update $(wp post list  --format=ids) --ping_status=closed --comment_status=closed

@nextgenthemes
Copy link

Also, if you want to disable them by default, this should turn them off:

wp option update default_pingback_flag ""
wp option update default_ping_status ""
wp option update default_comment_status ""

I would share these with closed, yes and empty string will end up as closed in the database, but I think it's confusing. Setting them with true or 1 will NOT enable them back on, you need to use open. It's not a boolean, as I thought originally.

I just made a little post about it as I ran into this and dug deeper.

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