我一直在寻找解决问题的方法,但已经发布的帖子并没有满足我的要求,或者我只是没有足够的资格来解决这个问题。以下是我需要的:
我有一个带有表单的简单登录页。我需要的是一种为我选择的人创建唯一url的方法,这样只有他们才能访问此网站并填写表单。URL必须仅在7天内处于活动状态,一旦使用,将立即停用。唯一的URL应该工作很长时间,这意味着我可以同时生成多个URL。
解决此问题的另一种方法是生成许多密码,我可以将这些密码发送给我选择的人。同样的故事–每个密码都是唯一的,只能使用一次。页面受密码限制,当用户输入密码时,页面将不再处于活动状态。
除此之外,最好的补充是-在发送表单时停用/过期URL/访问者访问权限<;-但这不是必要的。
我真的不是那种只想在银盘上给他解决问题的人,但现在……我背靠着墙,根本没有时间。非常感谢您的帮助。非常感谢。
SO网友:Ben Casey
可以使用添加设置add_option( \'access_keys\', [ \'key_1\', \'key_2 ] )
加载页面时检查。
add_action( \'init\', \'wpse339612_check_access_codes\' );
function wpse339612_check_access_codes(){
if( isset( $_GET[\'key\'] ) ){
$available_keys = get_option( \'access_keys\' );
$key_index = array_search( filter_var( $_GET[\'key\'], $available_keys );
if( $key_index !== false ){
/*User has access! Delete the key from the available keys*/
unset( $available_keys[$key_index] );
update_option( \'access_keys\', $available_keys );
}
}
}
然后每当用户点击
https://yoursite.com?key=key_1 他们将获得访问条件,并从数据库中删除密钥。