Running and Debugging Specific WordPress Cron Hooks Manually Using WP-CLI
Thursday, December 22nd, 2022Running and Debugging Specific WordPress Cron Hooks Manually Using WP-CLI
If your WordPress instance is configured with debugging turned off (WP_DEBUG set to false in wp-config.php) and you need to troubleshoot, debug, or run a specific WordPress cron hook or function manually, you'll find that it's pretty tough to do so. Fortunately, I found a relatively easy way to do exactly this using WP-CLI.
Install WP-CLI
Install WP-CLI by using the below commands as root:
sudo -i curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod +x wp-cli.phar sudo mv wp-cli.phar /usr/local/bin/wp
Now, change into your WordPress instance vhosts directory:
cd /var/www/vhosts/{YOUR_DOMAIN}/httpdocs
Update the above path as necessary.
To run all the scheduled WordPress cron events, use this command:
wp cron event run --all --allow-root
To run a specific WordPress cron hook, use this command:
wp cron event run "NAME_OF_CRON_HOOK" --allow-root
If you need help determining the name of the cron job hook you specifically want to run or debug, install the WP Control plugin in your WordPress instance. Then visit the /wp-admin/tools.php?page=crontrol_admin_manage_page page to see a list of cron hooks and when they run. Grab the name from the "Hook" column and update your wp cli command to run that cron event!
You can add echo statements and other code to your individual cron function plugins to better debug and troubleshoot them.