使用wordpress中登录表单上的额外字段值重定向用户登录

使用wordpress中登录表单上的额外字段值重定向用户登录,wordpress,Wordpress,我已经用login_form操作钩子在我的登录表单中添加了一个字段,如下所示 add_action('login_form','select_contest_field'); function select_contest_field(){ //Output your HTML ?> <p class="tml-user-pass-wrap"> <label for="contest">Select Contest</label> <select

我已经用login_form操作钩子在我的登录表单中添加了一个字段,如下所示

add_action('login_form','select_contest_field');
function select_contest_field(){
//Output your HTML
?>
<p class="tml-user-pass-wrap">
<label for="contest">Select Contest</label>
<select class="form-control input-lg" id="contest" name="contest" required>
<option value="uppa"  >UPPA 2017</option>
<option value="ypa">Young Photographer Award</option>
</select>
</p>
<?php
}
当用户登录并在登录表单上选择一个选项时,无论选择了什么选项,他们都会被重定向到$contest_page second选项,在这种情况下

if (isset($_POST['contest']) && $_POST['contest'] = "uppa") {
$contest_page = $site_url.'/uganda-press-photo-award-2017/uganda-press-
photo-award-2017-upload-submit/”; }

如何确保为$contest_页面选择了正确的值?登录表单是否正确地将所选选项传递给函数?

根据所选值在
if/else
中尝试
wp\u redirect()
函数

示例:

wp_redirect(get_bloginfo('url') . '/uganda-press-photo-award-2017/uganda-press-photo-award-2017-upload-submit/');
function redirect_after_login( $redirect_to, $requested_redirect_to ) {
  // My code.
}

add_filter( 'login_redirect', 'redirect_after_login', 10, 2 );
或者,您可以使用
login\u redirect
hook

示例:

wp_redirect(get_bloginfo('url') . '/uganda-press-photo-award-2017/uganda-press-photo-award-2017-upload-submit/');
function redirect_after_login( $redirect_to, $requested_redirect_to ) {
  // My code.
}

add_filter( 'login_redirect', 'redirect_after_login', 10, 2 );

我也在(wordpress交换网站)上发布了这个问题,并从@dbeja得到了以下答案

问题是IF逻辑中有一个错误,它应该有两个==而不是一个。事实上,第一个IF将ypa值赋给$u POST['contest'],而不是比较

IFs块应为:

我犯了愚蠢的错误