我正在尝试设置一个带有单个密码输入字段的页面,该页面在提交时会将用户重定向到给定密码的相应帖子。
认为这样的事情会起作用:
模板:
<form action="" method="POST">
<input type="password" name="post_password" value=""/>
<input type="submit" name="submit" value="Submit"/>
</form>
<?php
$result = $wpdb->get_results("SELECT id FROM wp_posts WHERE post_password = '{$_POST['post_password']}'");
if ($result) {
$location = $result[0]->id;
do_action('init', $location);
} else {
echo '<p>Invalid password</p>';
}
?>
函数.php:
function process_post($arg0){
if (isset($arg0) {
wp_safe_redirect(get_bloginfo('url'). "/?page_id=" . $arg0 );
exit();
}
}
add_action('init', 'process_post', 10, 1);
但不起作用。认为使用 init 钩子可以避免标头信息发送错误,但我仍然得到它。
仍然需要实际将提交的密码设置为 cookie 值 - 是否有 WP 功能可以做到这一点?