Je crée un plugin de formulaire pour gérer les formulaires qui peuvent être connectés à l'aide d'actions / filtres par les développeurs.
Mon plug-in doit pouvoir gérer différentes formes avec différents ensembles de filtres et je vois 2 façons de le faire.
Méthode 1
Incendie de crochets spécifiques pour chaque forme.
Donc, un code comme celui-ci pourrait être appelé formulaire dans mon plugin:
$formId = 'contact';
$errors = apply_filters('forms_validate_' . $formId, $errors, $data);
Et pourrait être utilisé comme ceci:
add_filter('forms_validate_contact', function($errors, $data){
if(empty($data['name'])){
$errors['name'] = 'Name is required';
}
return $errors;
} 10, 2)
Méthode 2
Passez un paramètre à la fonction appelante.
Donc, un code comme celui-ci pourrait être appelé formulaire dans mon plugin:
$formId = 'contact';
$errors = apply_filters('forms_validate', $formId, $errors, $data);
Et pourrait être utilisé comme ceci:
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)
Existe-t-il des exemples dans le noyau WordPress où ce type de problème est résolu?
Existe-t-il une méthode préférée pour y faire face?