Hello Wordpress Developer,
I want to ask about how to send popup after wp_redirect(); I'm sending link to user for verify. I just want to let user know that the verify process is done.
Here is the code:
class edu002_verifyAccount{
static function verify(){
global $wpdb;
$em = filter_input(INPUT_GET, "em");
$tk = filter_input(INPUT_GET, "tk");
$url = site_url();
$registered_date = date( 'Y-m-d H:i:s', current_time( 'timestamp', 0 ) );
$newsletter_db = $wpdb->get_row( $wpdb->prepare("SELECT * FROM {$wpdb->prefix}newsletter_subscribe WHERE email = '$em'", ARRAY_A));
ob_start();
if($newsletter_db){
$user_token = $wpdb->get_row( $wpdb->prepare("SELECT * FROM {$wpdb->prefix}user_token WHERE token = '$tk'", ARRAY_A));
if($user_token){
if(time() - $user_token->date_created < (60*60*24)){
$wpdb->update($wpdb->prefix . 'newsletter_subscribe', ["status" => 1, "subscribe_date" => $registered_date], ["email" => $em]);
$wpdb->delete($wpdb->prefix . 'user_token', ['email' => $em]);
//send popup
wp_redirect($url);
exit;
}else{
//sendpopup
$wpdb->delete($wpdb->prefix . 'newsletter_subscribe', ['email' => $em]);
$wpdb->delete($wpdb->prefix . 'user_token', ['email' => $em]);
}
} else{
if(($tk != $user_token) === true){
//sendpopup
wp_redirect($url);
exit;
}
}
} else{
if(($em != $newsletter_db->email) === true){
//sendpopup
wp_redirect($url);
exit;
}
}
return ob_get_clean();
}
}
Oh, I forgot. I'm using this hook:
add_action ('template_redirect', array( 'edu002_verifyAccount', 'verify'));
I use window.location, still not working.
All answer is much appreciated. Thank you in advance.
Best Regards
Hendra