Saya membuat plugin formulir untuk menangani formulir yang dapat dikaitkan dengan menggunakan tindakan / filter oleh pengembang.
Plug-in saya harus dapat menangani berbagai bentuk dengan set filter yang berbeda dan saya melihat 2 cara melakukan ini.
Metode 1
Api kait khusus untuk setiap bentuk.
Jadi kode seperti ini bisa disebut form di dalam plugin saya:
$formId = 'contact';
$errors = apply_filters('forms_validate_' . $formId, $errors, $data);
Dan bisa digunakan seperti:
add_filter('forms_validate_contact', function($errors, $data){
if(empty($data['name'])){
$errors['name'] = 'Name is required';
}
return $errors;
} 10, 2)
Metode 2
Lewati parameter ke fungsi panggilan.
Jadi kode seperti ini bisa disebut form di dalam plugin saya:
$formId = 'contact';
$errors = apply_filters('forms_validate', $formId, $errors, $data);
Dan bisa digunakan seperti:
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)
Apakah ada contoh di inti WordPress di mana masalah semacam ini ditangani?
Apakah ada metode yang disukai untuk menangani ini?