Réponses:
Cela se produit car il manque le non nécessaire dans l'URL, qui est en cours d'archivage wp-login.php
case 'logout' :
    check_admin_referer('log-out');
    ...
Utilisez wp_logout_urlpour récupérer l'URL, y compris le nonce. Si vous souhaitez rediriger vers une URL personnalisée, passez-la simplement comme argument.
<a href="<?php echo wp_logout_url('/redirect/url/goes/here') ?>">Log out</a>Vous pouvez également utiliser wp_loginoutce qui génère le lien pour vous, y compris la traduction:
echo wp_loginout('/redirect/url/goes/here')wp_logout_url( get_permalink())et la page de confirmation n'est pas contournée. Le nonce est généré dans le cadre de l'URL mais je suis toujours envoyé à la page de confirmation
                    Si vous ne pouvez pas utiliser la wp_logout_url()fonction, vous pouvez désactiver cette validation en utilisant ce code:
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
function logout_without_confirm($action, $result)
{
    /**
     * Allow logout without confirmation
     */
    if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
        $redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : 'url-you-want-to-redirect';
        $location = str_replace('&', '&', wp_logout_url($redirect_to));
        header("Location: $location");
        die;
    }
}Remplacez 'url-you-want-to-redirect'par l'URL que vous souhaitez rediriger après la déconnexion.
Ajoutez-le dans votre functions.php
Si vous créez un lien personnalisé dans votre menu, définissez le libellé sur “Logout”et définissez l'URL sur http://yourdomain.com/wp-login.php?action=logout. Ajoutez ensuite cette fonction à votre functions.phpfichier:
function change_menu($items){
  foreach($items as $item){
    if( $item->title == "Logout"){
         $item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' );
    }
  }
  return $items;
}
add_filter('wp_nav_menu_objects', 'change_menu');Si vous souhaitez rediriger vers la page de connexion après la déconnexion, vous devez ajouter l'URL de connexion en tant que:
$item->url = $item->url . "&_wpnonce=" . wp_create_nonce( 'log-out' ).'&redirect_to='.wp_login_url();Cela a fonctionné pour moi en ajoutant /?customer-logout=trueà la fin.
http://www.website.com/?customer-logout=true