Hola,
estaría bien que aportases más detalles, mi primera duda es si utilizas el propio registro de WordPress o alguno otro (de plugins, Buddypress, etc).
Si usas el de WordPress, la cosa sería algo así:
1. Para añadir al formulario un campo de texto:
add_action( 'register_form', 'nuevo_campo_registro' );
function nuevo_campo_registro() {
?>
<p>
<label for="numero_serie">Numero de Serie<br />
<input type="text" name="numero_serie" id="numero_serie" class="input" value="" size="25" /></label>
</p>
<?php
}
2. Para comprobar que es correcto, tendrás que añadir tu mismo la comprobación, creando un error en caso de fallo con:
$errors->add('nombre-error', 'mensaje de error' );
Al añadir el error y completar el return de la función, aparece el error y no deja completar el registro.
function comprobar_campo( $errors, $sanitized_user_login, $user_email ) {
//Si el campo no es correcto
if($_POST['numero_serie'] != "123456"){
$errors->add('nombre-error', 'El numero de serie no es valido' );
}
return $errors;
}
add_filter( 'registration_errors', 'comprobar_campo', 10, 3 );
Recuerda siempre usar todas las medidas de seguridad oportunas, como filtrar antes de comprobar con la base de datos para evitar inyecciones, etc. Este código es solo una base.
Edito: A parte de comprobarlo te recomiendo guardar el numero introducido para futuras comprovaciones, en «user meta».
Tienes más información en estos enlaces:
https://codex.wordpress.org/Plugin_API/Action_Reference/register_form
https://codex.wordpress.org/Plugin_API/Filter_Reference/registration_errors
Un saludo
-
Esta respuesta fue modificada hace 5 años, 2 meses por
merk_cat.