从unctions.php中的URL拉取GET参数

时间:2019-08-21 作者:Jameson Rader

我跟踪了WordPress, 但是我的functions.php 文件仍无法获取token (abcd) URL中的变量:https://example.com/reset-password/?token=abcd

我的职能。php文件包括以下内容:

function add_query_vars_filter( $vars ) {
  $vars[] = "token";
  return $vars;
}
add_filter( \'query_vars\', \'add_query_vars_filter\' );

...

add_filter( \'wpcf7_validate_text*\', \'custom_password_reset_validation_filter\', 10, 2 );
function custom_password_reset_validation_filter( $result, $tag ) {
    // Make POST request to change password
            $token = get_query_var( \'token\', "fk" );
            write_log("TKN: {$token}");
    }

    return $result;
}
出于某种原因,get__query_var 始终返回fk 而不是abcd.

2 个回复
SO网友:Mike Baxter

联系表7提供了Validation as a Filter 这看起来很像你要做的。

根据您的代码调整他们的示例,我认为以下内容应该对您有用:

add_filter( \'wpcf7_validate_text*\', \'custom_password_reset_validation_filter\', 10, 2 );
function custom_password_reset_validation_filter( $result, $tag ) {        
    if (\'token\'==$tag->name){
        $token = isset($_POST[\'token\']) ? $_POST[\'token\'] : "fk";
        write_log("TKN: {$token}");
    }

    return $result;
}

SO网友:Pratikb.Simform

You can try

$token = $_REQUEST[\'token\']