Ok les gars, je construis une page, où une certaine sous-page est protégée par mot de passe. Facile dans wordpress. Mais il y a un problème UX: lorsqu'un utilisateur entre un mauvais mot de passe, aucun message d'erreur ou quelque chose à indiquer n'indique que le mot de passe n'est pas correct.
Est-il possible de le coder manuellement dans le fichier de modèle?
pas vraiment, mais peut essayer quelque chose comme:
add_action('wp', 'check_post_pass');
function check_post_pass(){
if(!is_single() || !post_password_required()) return;
global $post;
if(isset($_COOKIE['wp-postpass_'.COOKIEHASH])
&& $_COOKIE['wp-postpass_'.COOKIEHASH] !== $post->post_password){
define('INVALID_POST_PASS', true);
// tell the browser to remove the cookie so the message doesn't show up every time
setcookie('wp-postpass_'.COOKIEHASH, NULL, -1, COOKIEPATH);
}
}
dans votre modèle:
if(defined('INVALID_POST_PASS')) _e('The password you entered is funky');
Mais une bien meilleure idée serait de créer votre propre fonction de type the_content()
- et votre mot de passe + fonction de vérification, sans cookies ...