Created
June 5, 2018 05:28
-
-
Save pbrocks/ed9bc7b83cdb6d9821965ff0230065ed to your computer and use it in GitHub Desktop.
Use this recipe to reset your PMPro site's Logins and Views Report data.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Place this code in your Customizations plugin, not including the opening php tag on line 1. | |
* https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/ | |
*/ | |
/** | |
* Create a menu to give us a place to perform the reset. I'm choosing a Dashboard menu purely for ease of access. | |
*/ | |
add_action( 'admin_menu', 'core_reset_views_admin_page' ); | |
function core_reset_views_admin_page() { | |
add_dashboard_page( | |
__( 'Reset Core Views', 'paid-memberships-pro' ), | |
__( 'Reset Core Views', 'paid-memberships-pro' ), | |
'manage_options', | |
'reset-core-views.php', | |
'core_reset_views_render_admin' | |
); | |
} | |
/** | |
* This function is tied to the one above and provides the content for the dashboard page. | |
* | |
* @return null | |
*/ | |
function core_reset_views_render_admin() { | |
global $pmpro_reports, $wpdb; | |
?> | |
<div class="wrap"> | |
<h2> | |
<?php | |
esc_attr_e( 'PMPro Reset Core Views', 'paid-memberships-pro' ); | |
?> | |
</h2> | |
<div style="padding: 2rem 0;"> | |
<h2> | |
<?php | |
esc_attr_e( 'Reset Core Views Report', 'paid-memberships-pro' ); | |
?> | |
</h2> | |
<h4 id="reset-views-results">Tick the box if you wish to reset your PMPro core views report.</h4> | |
<form id="reset-views-form" method="get" style="padding:inline-block;" action="<?php echo admin_url(); ?>"> | |
<div style="float:left;"><label for="deleting"> I am sure I want to reset my PMPro core views report. <input type="checkbox" name="pmproresetcoreviews" id="pmproresetcoreviews" value="1"></label></div> | |
<div style="float:left;display:none;" id="reset-views-button"><button type="submit" name="reset-views-submit" id="reset-views-submit" value="true" class="button-primary"><?php esc_attr_e( 'Reset Core Views', 'reset-views' ); ?></button></div><br> | |
</form> | |
</div> | |
<hr> | |
<h3>If PMPro Reports has data, it will show below.</h3> | |
<a href="<?php echo admin_url( 'admin.php?page=pmpro-reports' ); ?>" target="_blank"><button class="button-primary">Double Check Report</button></a> | |
<?php | |
pmpro_report_login_widget(); | |
?> | |
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> | |
<script type="text/javascript"> | |
var deleting = $('#pmproresetcoreviews'); | |
var reset = $('#reset-views-button'); | |
var notice = $('#reset-views-results'); | |
deleting.on('click', function() { | |
if (deleting.is(':checked')) { | |
notice.text('Thank you.'); | |
reset.css( "display", "block" ); | |
} else { | |
notice.text('Please tick the box if you want to continue.'); | |
reset.css( "display", "none" ); | |
} | |
}); | |
</script> | |
</div> | |
<?php | |
} | |
add_action( 'init', 'pmpro_reset_core_views_report' ); | |
function pmpro_reset_core_views_report() { | |
if ( ! empty( $_REQUEST['pmproresetcoreviews'] ) && current_user_can( 'manage_options' ) ) { | |
delete_option( 'pmpro_logins' ); | |
delete_option( 'pmpro_views' ); | |
delete_option( 'pmpro_visits' ); | |
wp_redirect( admin_url( '/index.php?page=reset-core-views.php' ) ); | |
exit(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment