Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- add_filter( 'forminator_cform_render_fields', 'forminator_select_posts_list', 10, 2 );
- function forminator_select_posts_list( $wrappers, $form_id ) {
- $allowed_forms = array( 16134 ); // IDs of forms to apply to (separated by comma if more)
- // which select fields to fill in with what post types
- // array key (left) = select field ID
- // array value (right) = post type name
- $select_fields_data = array(
- 'select-3',
- );
- ##### DO NOT EDIT BELOW #####;
- if ( ! in_array( $form_id, $allowed_forms) ) {
- return $wrappers;
- }
- foreach ( $wrappers as $wrapper_key => $wrapper ) {
- if ( ! isset( $wrapper[ 'fields' ] ) ) {
- continue;
- }
- if ( isset( $select_fields_data[ $wrapper[ 'fields' ][ 0 ][ 'element_id' ] ] ) ) {
- // here fetch your data from DB
- $conn = new mysqli('SERVERIP', 'USERNAME', 'PASSWORD', 'DBNAME') or die ('Cannot connect to db');
- $result = $conn->query("SELECT wdt_ID, clientname FROM wp_wpdatatable_2 ORDER BY clientname ASC");
- $row = $result;
- $new_options = array();
- $new_options[] = array(
- 'label' => $row['clientname'],
- 'value' => $row['wdt_ID'],
- 'limit' => '',
- 'key' => forminator_unique_key(),
- );
- $opt_data['options'] = $new_options;
- $select_field = Forminator_API::get_form_field( $form_id, $wrapper['fields'][0]['element_id'], true );
- if( $select_field && !empty( $opt_data ) ){
- Forminator_API::update_form_field( $form_id, $wrapper['fields'][0]['element_id'], $opt_data );
- $wrappers[ $wrapper_key ][ 'fields' ][ 0 ][ 'options' ] = $new_options;
- }
- }
- }
- return $wrappers;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement