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.