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);