我做了一个小测试,它成功了,但是no idea 如果技术上正确:
add_action( \'wp\', \'post_pw_sess_expire\' );
function post_pw_sess_expire()
{
if ( isset( $_COOKIE[\'wp-postpass_\' . COOKIEHASH] ) )
{
// Setting a time of 0 in setcookie() forces the cookie to expire with the session
setcookie(\'wp-postpass_\' . COOKIEHASH, \'\', 0, COOKIEPATH);
add_action( \'wp_footer\', \'change_pw_wpse_119986\' );
}
}
function change_pw_wpse_119986()
{
global $post;
if( $post->post_password == md5(\'something\') )
return;
$post->post_password = md5(\'something\');
wp_update_post( $post );
remove_action( \'wp_footer\', \'change_pw_wpse_119986\' );
}
但还有一个更大的问题:我们每个页面都有一个密码,而不是每个人都有一个密码。一旦第一个进入关卡,下一个将无法使用它。您需要构建自己的解决方案,设置不同的密码,并在用户使用密码时立即将其取消设置。