我跟踪了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
.
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;
}