How to use wp_schedule_event in a class?
Add an action outside your class definition: add_action(‘my_unique_plugin_event_hook’, array($this,’hook’)); And then use this in your event: wp_schedule_event(time(), ‘daily’, ‘my_unique_plugin_event_hook’);
Add an action outside your class definition: add_action(‘my_unique_plugin_event_hook’, array($this,’hook’)); And then use this in your event: wp_schedule_event(time(), ‘daily’, ‘my_unique_plugin_event_hook’);
A transient is set to reflect the state of the cron, which gets deleted when all tasks complete. Any subsequent requests are ignored if that transient is found…
So your constructor is probably not being executed before the cron event is being run. If your instantiating the fb_linter class too late then your call to add_action won’t happen in time. Try using the singleton design pattern for your class and then instantiate it right after you declare it and it should work just … Read more
This one is actually surprisingly simple; add this to your wp-config.php file and all automatic updates will be blocked when outside of the specified hours: // Suspend updates when outside of business hours, 9:00 AM to 5:30 PM $updates_suspended = (date(‘Hi’) < 0900 || date(‘Hi’) > 1730); define( ‘AUTOMATIC_UPDATER_DISABLED’, $updates_suspended ); You can also use … Read more
After some testing indeed, both WP Super Cache and W3 Total Cache do not release the buffer (or prevent the buffer from being released). Turning off “output delay” is simple and depends on the caching plugin involved. WP Super Cache: wp_cache_disable(); ob_end_flush(); // or ob_end_clean(); This should be added after including wp-load.php, this stops any … Read more
I think you have mismatch in how you pass arguments and how you expect it to work. You pass array of arguments to schedule and expect your hooked function to receive identical array of arguments. This is not the case. Cron events are processed by do_action_ref_array(), which in turn passes arguments via call_user_func_array(). So your … Read more
As a general principal, you shouldn’t do anything that requires an ‘add_action’ after the plugin activation hook. This is because WP loads and runs all plugins and THEN runs the new added one, and then does a re-direct. You have to set a DB option and hook into that. Here is the discussion from the … Read more
Some of what is usually admin side functionality is not included as part of the “main” wordpress bootstrap, files containing uploaded file manipulation functions are one of them and you need to explicitly include them by adding include_once( ABSPATH . ‘wp-admin/includes/image.php’ ); into your call_import function.
In wp-includes/default-filters.php we can find a callback registration: // WP Cron if ( !defined( ‘DOING_CRON’ ) ) add_action( ‘init’, ‘wp_cron’ ); If we go the function wp_cron() now, we see this: $schedules = wp_get_schedules(); foreach ( $crons as $timestamp => $cronhooks ) { if ( $timestamp > $gmt_time ) break; foreach ( (array) $cronhooks as … Read more
The answer is apparently YES, I should worry. After some research, I’ve found that the warning seems to be related to misconfigurations on the server that WordPress is hosted on (ie. a problem with my server, not WordPress). Common misconfigurations: Server doesn’t have DNS, and so it can’t figure out who “example.com” is, even though … Read more