设计自己的密码保护页面,如何处理错误的密码?

时间:2015-02-15 作者:hawbsl

these instructions 我已经为我网站上的一些页面创建了一个自定义密码保护页面:

    <?php if ( post_password_required() ) {


add_filter( \'the_password_form\', \'custom_password_form\' );
function custom_password_form() {
    global $post;
    $label = \'pwbox-\'.( empty( $post->ID ) ? rand() : $post->ID );
    $o = \'<form class="grey-form protected-post-form" action="\' . get_option(\'siteurl\') . \'/wp-login.php?action=postpass" method="post">
    \' . __( "<P>
    PRIVATE. PLEASE USE THE YOU WERE GIVEN BLAH BLAH" ) . \'
    <label class="pass-label" for="\' . $label . \'">\' . __( "" ) . \' </label><input onChange="javascript:this.value=this.value.toLowerCase();" name="post_password" id="\' . $label . \'" type="password" style="background: #ffffff; border:1px solid #999; color:#333333; padding:10px;" size="20" /><input type="submit" name="Submit" class="button" value="\' . esc_attr__( "Submit" ) . \'" />
    </form>
    <div style="height:700px"/>
    \';
    return $o;
}

  echo get_the_password_form();
这很好,除非您使用错误的密码测试它,它只会重新显示表单。没有向用户反馈他输入了错误的密码。

我如何才能向我的用户反馈他输入了错误的密码?

1 个回复
SO网友:Carolina Lallana

这对我在函数中添加代码很有用。php:

添加\\u筛选器(“the\\u password\\u form”,“wpse\\u 71284\\u custom\\u post\\u password\\u msg”);

/**

在密码表单中添加消息。

wp hook the\\u password\\u表单

  • @参数字符串$表单

  • @返回字符串*/函数wpse\\u 71284\\u custom\\u post\\u password\\u msg($form){//没有cookie,用户直到现在才发送任何内容。如果(!isset($cookie[\'wp postpass\'COOKIEHASH])返回$form;

    //翻译和转义$msg=esc\\u html\\uuuu(“La contraseña es incorrecta o ya ha sido utilizada.”,“your\\u text\\u domain”);

    //我们有一个cookie,但它与密码不匹配$msg=“消息”$消息

    &引用;;

    返回$消息$表单;}

  • 添加操作(\'init\',\'myStartSession\',1);add\\u action(\'wp\\u logout\',\'myEndSession\');add\\u action(\'wp\\u login\',\'myEndSession\');函数myStartSession(){if(!session\\u id()){session\\u start();}}}函数myEndSession(){session\\u destroy();}

    if(post\\u password\\u required()){$session\\u id=\'wp-postpass\\u\'。获取\\u id();//onload$current\\u cookie=wp\\u unslash($cookie[\'wp postpass\'。COOKIEHASH]);//获取旧cookie$old\\u cookie=isset($\\u session[$session\\u id])?$\\u session[$session\\u id]:“”;//设置新会话$\\u session[$session id]=$current\\u cookie;if($current\\u cookie!=$旧cookie(&;)amp;!empty($old\\u cookie)){错误通知(\'错误!身份验证失败!\');}}}&燃气轮机;

    结束