Skip to content

Instantly share code, notes, and snippets.

@rickalday
Created February 11, 2025 23:41
Show Gist options
  • Save rickalday/7f0b1deb21b78784311ef9a0409fbebc to your computer and use it in GitHub Desktop.
Save rickalday/7f0b1deb21b78784311ef9a0409fbebc to your computer and use it in GitHub Desktop.
New {address} tag for PDF Receipts that outputs the full state name
<php
function givewp_pdf_full_address_tag( $template_content, $args ) {
$buyer_info = give_get_payment_meta_user_info( $args['donation_id'] );
$address = isset( $buyer_info['address'] ) ? $buyer_info['address'] : '';
$address_data = [];
// Line 1.
if ( isset( $address['line1'] ) && ! empty( $address['line1'] ) ) {
$address_data['street_address'] = $address['line1'];
}
// Line 2.
if ( isset( $address['line2'] ) && ! empty( $address['line2'] ) ) {
$address_data['street_address'] .= "\n{$address['line2']}";
}
// City.
if ( isset( $address['city'] ) && ! empty( $address['city'] ) ) {
$address_data['city'] = $address['city'];
// State.
if ( isset( $address['state'] ) && ! empty( $address['state'] ) ) {
$states = give_get_states( $address['country'] );
$address_data['state'] = $states[$address['state']];
}
// Zip.
if ( isset( $address['zip'] ) && ! empty( $address['zip'] ) ) {
$address_data['postal_code'] = $address['zip'];
}
}
// Country.
if ( isset( $address['country'] ) && ! empty( $address['country'] ) ) {
$countries = give_get_country_list();
$country = isset( $countries[ $address['country'] ] ) ? $countries[ $address['country'] ] : $address['country'];
$address_data['country'] = $country;
}
$formatted_address = str_replace( "\n", '<br>', give_get_formatted_address( $address_data ) );
$template_content = str_replace( '{address}', $formatted_address, $template_content );
return $template_content;
}
add_filter( 'give_pdf_compiled_template_content', 'givewp_pdf_full_address_tag', 999, 2 );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment