Estoy creando un complemento de formulario para manejar formularios que los desarrolladores pueden conectar con acciones / filtros.
Mi complemento debe ser capaz de manejar diferentes formas con diferentes conjuntos de filtros y veo 2 formas de hacerlo.
Método 1
Fuego de ganchos específicos para cada forma.
Entonces, un código como este podría llamarse formulario dentro de mi complemento:
$formId = 'contact';
$errors = apply_filters('forms_validate_' . $formId, $errors, $data);
Y podría usarse así:
add_filter('forms_validate_contact', function($errors, $data){
if(empty($data['name'])){
$errors['name'] = 'Name is required';
}
return $errors;
} 10, 2)
Método 2
Pase un parámetro a la función de llamada.
Entonces, un código como este podría llamarse formulario dentro de mi complemento:
$formId = 'contact';
$errors = apply_filters('forms_validate', $formId, $errors, $data);
Y podría usarse así:
add_filter('forms_validate', function($formId, $error, $data){
switch($formId){
case 'contact':
if(empty($data['name'])){
$errors['name'] = 'Name is required';
}
break;
}
return $errors;
}, 10, 3)
¿Hay algún ejemplo en el núcleo de WordPress donde se aborde este tipo de problema?
¿Existe un método preferido para lidiar con esto?