cris
  • 0
Новичок

Запись или страница, защищенная паролем – сообщение об ошибке из-за неправильного пароля?

  • 0

Хорошо, ребята, я создаю страницу, где определенная подстраница защищена паролем. Легко в wordpress. Но есть проблема с UX: когда пользователь вводит неправильный пароль, нет сообщения об ошибке или чего-то еще, указывающего на то, что пароль неверен.

Можно ли как-то вручную закодировать его в файле шаблона?

Share
  1. Покажите свой код… тогда только мы сможем дать ответы

    • 0
  2. не совсем, но можно попробовать что-то вроде:

    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);
      }
    
    }   
    

    в вашем шаблоне:

    if(defined('INVALID_POST_PASS')) _e('The password you entered is funky');
    

    Но гораздо лучше было бы создать свою собственную the_content() -подобную функцию и форму пароля + функцию проверки без файлов cookie…

    • 0

Оставить ответ

You must login to add an answer.