Szűrők és horgok
Adatok feldolgozása
A plugin lehetővé teszi, hogy az adatok mentésének módját felül lehessen írni. Ha az űrlap adatai mentése be van kapcsolva, akkor az adatokat – alapértelmezésben – saját adatbázisba menti. Azonban a mentési eljárás felülírható.
Az alábbi példában az űrlap kitöltésekor megadott adatokat, saját custom post type bejegyzésként mentjük el:
functions.php:
function my_save_data_action($options, $data) {
// $form_to_pdf_891_saved_data --> sikeres mentés jelző: true vagy false értékre kell beállítani
global $wpdb, $form_to_pdf_891_saved_data;
// $options --> Tömb, az űrlap meghívása paraméterei
// $data --> Tömb, az űrlapban megadott adatok
$id = wp_insert_post(array(
'post_title' => $data['title'],
'post_type' => $options['post_type'],
'post_status' => 'publish'
));
if (!empty($id)) {
add_post_meta($id, 'my_meta', $data['meta']);
}
// Ha a mentés sikeres volt
$form_to_pdf_891_saved_data = true;
}
if (has_action('form_to_pdf_save_data_action')) {
remove_action( 'form_to_pdf_save_data_action', 'form_to_pdf_891_save_data_action' );
add_action( 'form_to_pdf_save_data_action', 'my_save_data_action', 10, 2);
}
Címzettek módosítása
Szűrőn keresztül – akár a kitöltött adatok alapján – lehetőség van a címzettek módosítására:
functions.php:
function my_form_to_pdf_modify_to($to, $data) {
// $data (array) -> Az űrlapon kitöltött adatok
// $to (array) -> A címzettek (email címek) tömbje
$addresses = array();
$users = get_users('role='.$data['usergroup']);
foreach ($users as $user) {
if (!in_array($user->user_email, $to)) {
$to[] = $user->user_email;
}
}
/* VAGY */
$to = array('info@my_domain.hu');
return $to;
}
add_filter('form_to_pdf_modify_to', 'my_form_to_pdf_modify_to', 10, 2);
Rejtett másolat címzettek beállítása
Szűrőn keresztül – akár a kitöltött adatok alapján – lehetőség rejtett másolatot küldeni címzetteknek:
functions.php:
function my_form_to_pdf_modify_bcc($data) {
// $data (array) -> Az űrlapon kitöltött adatok
$bcc = array();
$users = get_users('role='.$data['usergroup']);
foreach ($users as $user) {
$bcc[] = $user->user_email;
}
/* VAGY */
$bcc = array('info@my_domain.hu');
return $bcc;
}
add_filter('form_to_pdf_modify_bcc', 'my_form_to_pdf_modify_bcc', 10, 1);
Kérlek, vedd figyelembe, hogy a fenti kódok nem teljesek, mindössze a szemléltetés a céljuk.