Skip to content

Instantly share code, notes, and snippets.

@mcorkum
Created November 14, 2018 18:18
Show Gist options
  • Select an option

  • Save mcorkum/74dd6b304516b331c05bf78cccb96cca to your computer and use it in GitHub Desktop.

Select an option

Save mcorkum/74dd6b304516b331c05bf78cccb96cca to your computer and use it in GitHub Desktop.

Revisions

  1. mcorkum created this gist Nov 14, 2018.
    50 changes: 50 additions & 0 deletions give-export.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,50 @@
    <?php
    /**
    * Add custom metadata to the columns for export
    *
    * @param array $data Current data in the export
    * @param array $payment Array containing payment metadata
    *
    * @return array $data - Modified data
    */
    function add_data_to_export( $data, $payment ) {
    // This assumes meta value is already added to the donation. You could call another function here to get the value.
    // If the meta is a part of the donation form you can get it using give_get_payment_form_id( id );
    $data['meta_name'] = ( isset( $payment->payment_meta['meta_name'] ) ) ? $payment->payment_meta['meta_name'] : 'N/A';
    return $data;
    }
    add_filter( 'give_export_donation_data', 'add_data_to_export' );

    /**
    * Changes the column labels for custom metadata on export
    *
    * @param array $cols Actual column names in the export
    * @param array $columns Array containing info about which columns have been selected for export
    *
    * @return array $cols Columns with modified names
    */
    function change_export_column_names( $cols, $columns ) {
    $cols['meta_name'] = 'Column Title';
    return $cols;
    }
    add_filter( 'give_export_donation_get_columns_name', 'change_export_column_names', 99, 2 );

    /**
    * Add HTML to the CSV on the admin CSV export page
    *
    * @since v1.0
    *
    * @return void
    */
    function donation_extra_fields() {
    ?>
    <li class="give-export-option-start">
    <label for="give-export-donation-meta-name">
    <input type="checkbox" checked
    name="give_give_donations_export_option[meta_name]"
    id="give-export-donation-meta-name"><?php _e( 'Label Name', 'give' ); ?>
    </label>
    </li>
    <?php
    }
    add_action( 'give_export_donation_standard_payment_fields', 'donation_extra_fields' );