我有一个表单,可以重定向到支付平台,并在$\\u POST中发送数据。
<form method="POST" action="https://www.paiementgateway.com/paiement/order1.pl" accept-charset="UTF8" id="knp-form" target="_top">
<table border="0" cellpadding="2" cellspacing="0" width="20%">
<meta charset="UTF-8">
<tr>
<td width="50%">Nom:</td>
<td width="50%"><input type="text" name="NOM" size="24" value=""></td>
</tr>
<tr>
<td width="50%">Prenom:</td>
<td width="50%"><input type="text" name="PRENOM" size="24" value=""></td>
</tr>
<tr>
<td width="50%">Adresse:</td>
<td width="50%"><input type="text" name="ADRESSE" size="24" value=""></td>
</tr>
<tr>
<td width="50%">Code Postal:</td>
<td width="50%"><input type="text" name="CODEPOSTAL" size="24" value=""></td>
</tr>
<tr>
<td width="50%">Ville:</td>
<td width="50%"><input type="text" name="VILLE" size="24" value=""></td>
</tr>
<tr>
<td width="50%">Pays:</td>
<td width="50%"><select size="1" name="PAYS">
<option value="CH" selected="selected">Suisse </option>
<option value="FR">France</option>
</select>
</td>
</tr>
<tr>
<td width="50%">Tel:</font></td>
<td width="50%"><input type="text" name="TEL" size="24" value=""></td>
</tr>
<tr>
<td width="50%">E-mail:</font></td>
<td width="50%"><input type="text" name="EMAIL" size="24" value=""></td>
</tr>
<input type="hidden" name="ID" value="1234567890">
<input type="hidden" name="ABONNEMENT" value="123ABC465DEF7890">
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="Envoyer" name="B1"></p></td>
</tr>
</table>
我想创建一个类似于用户注册的操作,但不幸的是,该操作似乎不起作用。
用户被重定向到支付平台,而不在WP上创建用户。
function traitement_formulaire_inscription() {
if (isset($_POST[\'B1\'])) {
$user_login = sanitize_text_field( $_POST[\'EMAIL\'] );
$user_email = sanitize_email( $_POST[\'EMAIL\'] );
$user = register_new_user( $user_login, $user_email );
}
}
add_action(\'template_redirect\', \'traitement_formulaire_inscription\', 5);
最合适的回答,由SO网友:Kamduras 整理而成
我找到了解决办法。
我删除了表单中的操作
<form method="POST" action="" accept-charset="UTF8" id="knp-form" target="_top">
现在,带有wp\\u的动作挂钩用307代码重定向。
function traitement_formulaire_inscription() {
if (isset($_POST[\'B1\'])) {
$user_login = sanitize_text_field( $_POST[\'EMAIL\'] );
$user_email = sanitize_email( $_POST[\'EMAIL\'] );
$user = register_new_user( $user_login, $user_email );
wp_redirect( \'https://www.paiementgateway.com/paiement/order1.pl?\', 307 );
exit;
}
}
add_action(\'template_redirect\', \'traitement_formulaire_inscription\', 5);