web-dev-qa-db-fra.com

Mot de passe protégé post ou page - message d'erreur par mot de passe incorrect?

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?

3
CRIS

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 ...

5
onetrickpony