Гравитационные формы: добавьте CSV с записями формы на почту администратора - PullRequest
0 голосов
/ 23 апреля 2020

Я хочу добавить все записи формы в виде файла CSV в почту администратора.

После некоторых исследований я нашел два фрагмента кода для работы. Один для создания файла CSV и один для добавления вложения к почте администратора. Я изменил их для своих нужд, и теперь у меня есть две функции. Проблема в том, что я не знаю, как объединить эти два.

Вот мой текущий код:

<?php
// Create a CSV file
function populate_csv( $entry, $form ) {

    //Headers info
    $headers = array('First Name', 'Last Name', 'E-Mail', 'Website');

    //Build form data
    // Not sure how to use that
    $data = array(
        'First Name'    => rgar( $entry, '1' ),
        'Last Name'     => rgar( $entry, '4.1' ),
        'E-Mail'        => rgar( $entry, '4.2' ),
        'Website'       => rgar( $entry, '4.3' ),
    );

    // Create CSV File
    // would be great if it had the submission id and the date in it
    $fh = fopen('form-entries.csv', 'a');

    //Create headers
    fputcsv($fh, $headers);

    //Populate the data 
    fputcsv($fh,$data);

    //Close the file
    fclose($fh);

}
add_action( 'gform_after_submission_11', 'populate_csv', 10, 2 );



// Add file to admin mail only
add_filter("gform_user_notification_attachments", "add_attachment", 10, 3);
function add_attachment($attachments, $lead, $form) {

    // here I need the generated csv file
    $doc = '/file.pdf';

    $upload = wp_upload_dir();
    $upload_path = $upload["basedir"];

    $attachments = array();
    $attachments[] = $upload_path . $doc;

    return $attachments;

}

Может быть, есть более простой способ добиться этого? Но в данный момент я застрял и не смог найти хороший учебник или примеры.

...