Passer au contenu Passer à la barre latérale

Ce sujet est résolu. Voici une description du problème et de la solution.

Problem:
The client was experiencing issues with custom login functionality on two pages after installing WPML. The login worked fine when WPML was deactivated. The issue was related to Ajax calls to admin-ajax.php for user authentication.

Solution:
We reviewed the custom code used for the login process and identified an issue with the

do_action('wp_login', $user->user_login, $user->ID)

hook. According to the WordPress developer documentation, the second parameter should be

$user

, not

$user->ID

. We recommended updating the action hook to

do_action('wp_login', $user->user_login, $user)

to resolve the problem.

If you're experiencing this issue, we recommend you try updating the action hook as described above. However, this solution might be irrelevant if it's outdated or not applicable to your case. We highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If the problem persists, please open a new support ticket with us.

Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.

Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.

Marqué : 

Ce sujet contient 23 réponses, a 3 voix.

Dernière mise à jour par Ilyes Il y a 1 année et 4 mois.

Assisté par: Ilyes.

Auteur Messages
Avril 26, 2024 à 4:41 am #15567687

michelleL-20

Bonjour,

Pas de soucis.
Je viens d'installer et d'activer le plugin Duplicator.
Merci pour votre aide.

Bonne journée,
Cordialement

Avril 26, 2024 à 3:45 pm #15571397

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Mon collègue Nicolas est actuellement en congé, je vais donc m'occuper de votre demande entre-temps,

J'ai ouvert un champ ci-dessous où vous pouvez partager/uploader la copie Duplicator de votre site en privé,

Dans l'attente de votre réponse,

Avril 27, 2024 à 4:45 am #15572350

michelleL-20

Bonjour,

Serait-ce possible de faire autrement qu'avec Duplicator ?
Le site faisant plus de 500mb, il m'est demandé de souscrire à la version pro.
Or si possible, j'aimerais éviter de payer 40$.
Je peux vous faire une copie de la BDD et des fichiers si vous souhaitez.

Bonne journée,
Cordialement

Avril 29, 2024 à 3:29 pm #15578003

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Pourriez-vous essayer d'utiliser All-In-One WP migration plugin à la place ? Il ne devrait pas avoir de limite dans la version gratuite.

En outre, considerez de decocher le dossier média/upload lors de l'exportation, cela permet de réduire leur taille,

Merci,

Avril 29, 2024 à 3:29 pm #15578004

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Pourriez-vous essayer d'utiliser All-In-One WP migration plugin à la place ? Il ne devrait pas avoir de limite dans la version gratuite.

En outre, considerez de decocher le dossier média/upload lors de l'exportation, cela permet de réduire leur taille,

Merci,

Avril 29, 2024 à 3:30 pm #15578005

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Votre prochaine réponse sera privée 🙂

Avril 30, 2024 à 3:18 pm #15581977

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Merci pour la copie,

J'ai remonté toutes les informations à l'équipe de deuxième niveau. Je reviens vers vous lorsque j'ai une réponse.

Cordialement,

mai 7, 2024 à 1:39 am #15599553

michelleL-20

Bonjour,

Avez-vous trouvé une solution ?

Bonne journée,
Cordialement

mai 7, 2024 à 4:23 pm #15603216

Ilyes
Supporter

Les langues: Anglais (English ) Français (Français ) Arabe (العربية )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Merci pour votre patience,

Je viens de recevoir une réponse de notre deuxième niveau, ils ont vérifié le code personnalisé qui est utilisé :

add_action('after_setup_theme', 'custom_login') ;

/* Login page connexion function */
function custom_login(){
if(isset($_POST['login'])){
$login_data = array() ;
$login_data['user_login'] = sanitize_user($_POST['email']) ;
$login_data['user_password'] = $_POST['password'] ;
$login_data['remember'] = $_POST['remember'] ;

$user = wp_signon($login_data, is_ssl()) ;

if(is_wp_error($user)){
echo $user->get_error_code() ;
exit ;
} else {
wp_clear_auth_cookie() ;
wp_set_current_user($user->ID) ;
wp_set_auth_cookie($user->ID, true) ;
do_action('wp_login', $user->user_login, $user->ID) ;
$result = « success » ;
echo $result ;
exit ;
}
}
}

Le problème se situe dans la partie :

do_action('wp_login', $user->user_login, $user->ID) ;

Pour autant que nous puissions comprendre, le deuxième paramètre devrait être $user et non pas $user->ID comme cela est fait ici - cela est spécifié dans https://developer.wordpress.org/reference/hooks/wp_login/

Donc si vous le changez en :

do_action('wp_login', $user->user_login, $user) ;

Alors cela fonctionnera à 100%, pourriez-vous s'il vous plaît appliquer ce changement et nous faire savoir si cela a aidé,

Cordialement,