Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ForGravity/49a3c16e98856857ecace1c5bf867fda to your computer and use it in GitHub Desktop.
Save ForGravity/49a3c16e98856857ecace1c5bf867fda to your computer and use it in GitHub Desktop.
<?php
add_filter( 'fg_fillable_pdf_args', 'add_list_field_to_pdf', 10, 4 );
function add_list_field_to_pdf( $pdf_meta, $feed, $entry, $form ) {
// Prepare column names for each day of the week.
$column_names = array(
'Sunday %d',
'Monday %d',
'Tuesday %d',
'Wednesday %d',
'Thursday %d',
'Friday %d',
'Saturday %d',
);
// Set maximum number of rows.
$max_rows = 4;
// Get List items.
$list_items = rgar( $entry, 4 ); // Replace 4 with your List field ID.
$list_items = maybe_unserialize( $list_items );
// If there are no List items, return.
if ( empty( $list_items ) ) {
return $pdf_meta;
}
// Loop through List rows up to the maximum row count.
for ( $i = 0; $i < ( $max_rows + 1 ); $i++ ) {
// Get List row.
$list_row = rgar( $list_items, $i );
// If List row is not found, skip.
if ( ! $list_row ) {
continue;
}
// Remove array keys from List row contents.
$list_row = array_values( $list_row );
// Loop through each column in the row.
foreach ( $list_row as $col => $value ) {
// Get the PDF key for this column.
$pdf_key = sprintf( $column_names[ $col ], ( $i + 1 ) );
// Add value if it is not empty.
if ( ! rgblank( $value ) ) {
$pdf_meta['field_values'][ $pdf_key ] = $value;
}
}
}
return $pdf_meta;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment