If you’re reading this post, I’m sure you don’t need an introduction on WP CLI.
Inclined to use some stats in my monthly review post, I wanted to find out the total number of spam comments my blog received for the month of April.
Thinking that WP CLI would make my task easier, I started looking at the documentation to find out the appropriate syntax to be used with the wp comment list
command.
To my surprise I found out that date query isn’t possible with WP CLI. I realized that I could leverage RESTful WP CLI and apply the date query.
RESTful WP CLI query looks like the following.
wp rest comment list
Using the help
command, I figured out the options to be passed.
wp help rest comment list
In order to get the list of spam comments for the month of April, I arrived at the following command.
wp rest comment list --after='2022-03-31T23:59:59' --before='2022-05-01T00:00:00' --status='spam'
Problems
However, there were a couple of problems.
- Authorization: In order to use the
status
option, authorization is must. Otherwise only the default valueapprove
will be taken in to account. - Readability: The output contains all the comment table fields cluttering the entire console.
- Getting the total count: A tabular display of data doesn’t output the total number of records.
Authorization
I solved the authorization problem using the user
option in the command like shown below.
wp rest comment list --after='2022-04-27T23:59:59' --before='2022-05-01T00:00:00' --status='spam' --user='admin'
Readability
I solved the readability problem using the field
option in the command like shown below.
wp rest comment list --after='2022-04-27T23:59:59' --before='2022-05-01T00:00:00' --status='spam' --user='admin' --field='id'
Total Count
You can obtain the count by using the --format=headers
option.
wp rest comment list --after='2022-04-27T23:59:59' --before='2022-05-01T00:00:00' --status='spam' --user='admin' --field='id' --format='headers'
References
Leave a Reply