제출시 하나의 비밀번호 입력 필드가있는 페이지를 설정하려고합니다. 제출시 지정된 비밀번호의 해당 게시물로 사용자를 리디렉션합니다.게시물의 단일 비밀번호 필드
템플릿 :
<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>';
}
?>
Functions.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);
을하지만 작동하지 않습니다. 초기화 후크를 사용하면 헤더 정보 전송 오류를 피할 수 있다고 생각하지만 여전히 사용 중입니다.
실제로 제출 된 비밀번호를 쿠키 값으로 설정해야합니다. WP 기능이 있습니까?
? 액션이 정의되지 않은 폼의 PHP 코드가 정의 되었습니까? –
@koala_dev, 액션 매개 변수를 정의 할 필요가 없습니다. 비어 있으면 폼이 현재 URL로 전송됩니다. – Nadh
@NADH 맞아, 미안해. 나는 곧장 생각하지 못했다. 지금 자러 가야한다. ... –