Sto creando un modulo plug-in per gestire i moduli che possono essere agganciati utilizzando azioni / filtri dagli sviluppatori.
Il mio plug-in deve essere in grado di gestire forme diverse con diversi set di filtri e vedo 2 modi per farlo.
Metodo 1
Fuoco di ganci specifici per ogni forma.
Quindi codice come questo potrebbe essere chiamato forma all'interno del mio plugin:
$formId = 'contact';
$errors = apply_filters('forms_validate_' . $formId, $errors, $data);
E potrebbe essere usato così:
add_filter('forms_validate_contact', function($errors, $data){
if(empty($data['name'])){
$errors['name'] = 'Name is required';
}
return $errors;
} 10, 2)
Metodo 2
Passa un parametro alla funzione chiamante.
Quindi codice come questo potrebbe essere chiamato forma all'interno del mio plugin:
$formId = 'contact';
$errors = apply_filters('forms_validate', $formId, $errors, $data);
E potrebbe essere usato così:
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)
Ci sono esempi nel core di WordPress in cui questo tipo di problema viene affrontato?
Esiste un metodo preferito per affrontare questo?