Skip to content

Instantly share code, notes, and snippets.

@sc0ttkclark
Last active March 11, 2022 17:18
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save sc0ttkclark/e11691d6c5a278662e3c694a0bb12e5a to your computer and use it in GitHub Desktop.
Reset the Cron Schedules for Paid Memberships Pro. The single-use version can be found at: https://gist.github.com/sc0ttkclark/bd319a47656b786ccee3eca6f2dc4a9a
<?php
/**
* Reset the Cron Schedules for Paid Memberships Pro.
*
* You can add this recipe to your site by creating a custom plugin
* or using the Code Snippets plugin available for free in the WordPress repository.
* Read this companion article for step-by-step directions on either method.
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/
*/
/**
* Handle resetting the cron schedules for PMPro.
*/
function my_pmpro_reset_cron_schedules() {
// Only run if on a PMPro admin page.
if ( empty( $_GET['page'] ) || 0 !== strpos( $_GET['page'], 'pmpro-' ) ) {
return;
}
pmpro_maybe_schedule_event( current_time( 'timestamp' ), 'hourly', 'pmpro_cron_expire_memberships' );
pmpro_maybe_schedule_event( current_time( 'timestamp' ) + 1, 'hourly', 'pmpro_cron_expiration_warnings' );
pmpro_maybe_schedule_event( current_time( 'timestamp' ), 'monthly', 'pmpro_cron_credit_card_expiring_warnings' );
pmpro_maybe_schedule_event( strtotime( '10:30:00' ) - ( get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ), 'daily', 'pmpro_cron_admin_activity_email' );
}
add_action( 'admin_init', 'my_pmpro_reset_cron_schedules' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment