Project starten

Deelnemersgegevens van FooEvents toevoegen aan de WooCommerce PDF Invoice-plugin

Om de namen van FooEvents-deelnemers, het boekingsslot en de datum in onze WooCommerce-pdf-factuur te tonen, haal je de deelnemersgegevens uit de bestelmeta en pas je het factuurtemplate daarop aan. Haal daarbij de voor- en achternaam van de deelnemer uit de bestelgegevens van FooEvents. Voeg daarvoor de code hieronder toe aan het functions.php van je child theme:

global $fooeventsLoopCount;
$fooeventsLoopCount = 0;
add_filter('woocommerce_pdf_invoices_item_meta', function($val, $item, $order_data) {
    global $fooeventsLoopCount;
    $meta = $order_data->get_meta('WooCommerceEventsOrderTickets');
    if(!is_array($meta) || empty($meta)) {
        return '';
    }
    $metaMapped = array();
    foreach($meta as $met) {
        foreach($met as $me) {
            $metaMapped[] = $me;
        }
    }
    $val = '';
    $kosten = $item->get_meta('pa_kosten');
    if($kosten == "nein") {
        $val .= 'Kein Mitglied
'; } else { $val .= 'Mitglied
'; } $data = $metaMapped[$fooeventsLoopCount]; if(!is_array($data)) { return $val; } if(isset($data['WooCommerceEventsBookingOptions']) && !empty($data['WooCommerceEventsBookingOptions'])) { $val .= 'Teilnehmer: ' . $data['WooCommerceEventsAttendeeName'] . ' ' . $data['WooCommerceEventsAttendeeLastName'] . '
'; $val .= 'Datum: ' . $data['WooCommerceEventsBookingOptions']['date_label'] . '
'; $val .= 'Ort: ' . $data['WooCommerceEventsBookingOptions']['slot_label'] . '
'; $fooeventsLoopCount += 1; } $val .= ''; return $val; }, 20, 3);