在主页上:
<form method="post" action="">
<input type="password" name="passwordfield">
<input type="hidden" name="homepagepassword" value="1">
<input type="submit" value="Submit">
</form>
放入函数。php(如果文件不存在,请创建该文件并添加
<?php
在顶部)或插件文件中:
function doPasswordStuff(){
if(isset($_POST[\'homepagepassword\'])){
$pass = $_POST[\'passwordfield\'];
$q = new WP_Query( array( \'meta_key\' => \'password_value\', \'meta_value\' => $pass));
if($q->have_posts()){
while($q->have_posts()){
$q->the_post();
wp_redirect(get_permalink());
die();
}
} else {
// oh dear, there isnt a post with this \'password\', put a redirect to a fallback here
wp_redirect(\'http://www.google.com\');
die();
}
wp_reset_query();
}
}
add_action(\'init\',\'doPasswordStuff\');
使用键/名称在帖子中添加自定义字段
password_value
该值是您的密码。
如果要跳过此步骤并使用Wordpress用于直接锁定帖子的密码,则需要使用$wpdb
和SQL查询,并对之前检查的密码进行哈希运算。
edit: 我已将其更新为使用“init”挂钩,您可以将代码放在插件文件中,而不是函数中。php,如果您希望它独立于主题。(尽管您仍然需要将表单标记放在某个地方)。