nonce – check_admin_referer failing with POST-form

Question

I’m using the following code to allow my customers to delete their account, if they like.
To prevent accedential direct opening the delete-link I’ve added a form.
But now the check_admin_referer-check seems to fail.
Does someone have an idea to fix the code?

add_action( 'woocommerce_after_edit_account_form', 'woo_delete_account_button' ); 
function woo_delete_account_button() { 
    $delete_url = add_query_arg( 'wc-api', 'wc-delete-account', home_url( "https://wordpress.stackexchange.com/" ) ); 
    $delete_url = wp_nonce_url( $delete_url, 'wc_delete_user' ); 
    if ( ! current_user_can( 'manage_options' ) ) {
?>
        <hr><h4 id="delete-account">Konto löschen</h4> Hier können Sie Ihr Konto unwiederbringlich löschen. Bitte beachten Sie folgende Hinweise:<br> <b>Gekaufte Downloads können nach der Konto-Löschung über die per E-Mail erhaltenen Links weiter heruntergeladen werden. Ein Zugriff auf Ihre Rechnungen, das Kundenportal, Ihren Bestell-Verlauf, Wunschliste, Rechnungsadresse und Konto-Daten ist nicht mehr möglich. Ferner ist die Verwaltung Ihrer Lizenz-Schlüssel nicht länger möglich, diese bleiben jedoch gültig.</b><br><br><form action="<?php echo $delete_url; ?>" onsubmit="return confirm('Sind Sie ganz sicher, dass Sie den Zugang zu allen genannten Funktionen sofort verliehren und Ihr Konto löschen möchten? Eine Wiederherstellung wird nicht möglich sein.')"><input type="submit" class="button" value="Konto unwiederruflich löschen" style="color:red;"></form> 
<?php   }
}

add_action( 'woocommerce_api_' . strtolower( 'wc-delete-account' ), 'woo_handle_account_delete' );  
function woo_handle_account_delete() { 
    if ( ! current_user_can( 'manage_options' ) ) { 
        $security_check_result = check_admin_referer( 'wc_delete_user' ); 
        if ( $security_check_result ) { 
require('./wp-admin/includes/user.php');
            wp_delete_user( get_current_user_id() ); 
            wp_redirect( home_url() ); 
            die(); 
        } 
    } 
}

Best regards,
Falk

0
z1tr0t3c 3 months 2022-05-08T00:09:47-05:00 0 Answers 0 views 0

Leave an answer

Browse
Browse