Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Change label on invoice page
- add_filter("give_donation_total_label", "cfa_invoice_label");
- function cfa_invoice_label($label) {
- if (is_page('invoice-payment')) {
- return "Invoice Total";
- } elseif(is_page('membership')){
- return "Membership Fee";
- }
- return $label;
- }
- // Documentation: https://givewp.com/documentation/developers/how-to-create-custom-form-fields/
- /*
- ame, mailing address, telephone number and comments.
- */
- // Add fields
- add_action( 'give_donation_form_after_personal_info', 'cfa_add_fields' );
- function cfa_add_fields($form_id) { ?>
- <div id="give-phone-wrap" class="form-row form-row-responsive">
- <label class="give-label" for="give-phone">
- <?php _e( 'Phone:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <input class="give-input required" type="tel" name="give-phone" id="give-phone" placeholder="(555) 555-5555" value="" required="" aria-required="true" />
- </div>
- <div id="give-address-wrap" class="clearfix">
- <div class="clearfix">
- <div class="form-row form-row-first form-row-responsive">
- <label class="give-label" for="give-street1">
- <?php _e( 'Street 1:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <input class="give-input required" type="text" name="give-street1" id="give-street1" placeholder="Street 1" value="" required="" aria-required="true" />
- </div>
- <div class="form-row form-row-last form-row-responsive">
- <label class="give-label" for="give-street2">
- <?php _e( 'Street 2:', 'give' ); ?>
- </label>
- <input class="give-input required" type="text" name="give-street2" id="give-street2" placeholder="Street 2" value="" />
- </div>
- </div>
- <div class="form-row form-row-responsive">
- <label class="give-label" for="give-city">
- <?php _e( 'City:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <input class="give-input required" type="text" name="give-city" id="give-city" placeholder="City" value="" required="" aria-required="true" />
- </div>
- <div class="form-row form-row-first form-row-responsive">
- <label class="give-label" for="give-state">
- <?php _e( 'State:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <select class="give-input required" name="give-state" id="give-state" placeholder="State" value="" required="" aria-required="true">
- <option value="AL">Alabama</option>
- <option value="AK">Alaska</option>
- <option value="AZ">Arizona</option>
- <option value="AR">Arkansas</option>
- <option value="CA">California</option>
- <option value="CO">Colorado</option>
- <option value="CT">Connecticut</option>
- <option value="DE">Delaware</option>
- <option value="FL">Florida</option>
- <option value="GA">Georgia</option>
- <option value="HI">Hawaii</option>
- <option value="ID">Idaho</option>
- <option value="IL">Illinois</option>
- <option value="IN">Indiana</option>
- <option value="IA">Iowa</option>
- <option value="KS">Kansas</option>
- <option value="KY">Kentucky</option>
- <option value="LA">Louisiana</option>
- <option value="ME">Maine</option>
- <option value="MD">Maryland</option>
- <option value="MA">Massachusetts</option>
- <option value="MI">Michigan</option>
- <option value="MN">Minnesota</option>
- <option value="MS">Mississippi</option>
- <option value="MO">Missouri</option>
- <option value="MT">Montana</option>
- <option value="NE">Nebraska</option>
- <option value="NV">Nevada</option>
- <option value="NH">New Hampshire</option>
- <option value="NJ">New Jersey</option>
- <option value="NM">New Mexico</option>
- <option value="NY">New York</option>
- <option value="NC">North Carolina</option>
- <option value="ND">North Dakota</option>
- <option value="OH">Ohio</option>
- <option value="OK">Oklahoma</option>
- <option value="OR">Oregon</option>
- <option value="PA">Pennsylvania</option>
- <option value="RI">Rhode Island</option>
- <option value="SC">South Carolina</option>
- <option value="SD">South Dakota</option>
- <option value="TN">Tennessee</option>
- <option value="TX">Texas</option>
- <option value="UT">Utah</option>
- <option value="VT">Vermont</option>
- <option value="VA">Virginia</option>
- <option value="WA">Washington</option>
- <option value="WV">West Virginia</option>
- <option value="WI">Wisconsin</option>
- <option value="WY">Wyoming</option>
- </select>
- </div>
- <div class="form-row form-row-last form-row-responsive">
- <label class="give-label" for="give-zip">
- <?php _e( 'Zipcode:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <input class="give-input required" type="text" pattern="[0-9]+" name="give-zip" id="give-zip" placeholder="Zipcode" value="" required="" aria-required="true" />
- </div>
- </div>
- <div id="give-comments-wrap" class="form-row form-row-responsive">
- <label class="give-label" for="give-comments">
- <?php _e( 'Comments:', 'give' ); ?>
- </label>
- <textarea class="give-input required" name="give-comments" id="give-comments" placeholder="Comments"></textarea>
- </div>
- <?php }
- // Validate fields
- add_action( 'give_checkout_error_checks', 'cfa_validate_custom_fields', 10, 2 );
- function cfa_validate_custom_fields( $valid_data, $data ) {
- /*
- $fields = array(
- 'give-phone',
- 'give-street1',
- 'give-street2',
- 'give-state',
- 'give-zip',
- 'give-comments'
- );
- */
- if (empty($data['give-phone'])) {
- give_set_error('give-phone', __('Please enter a phone number.', 'give'));
- }
- if (empty($data['give-street1'])) {
- give_set_error('give-street1', __('Please enter a street address.', 'give'));
- }
- if (empty($data['give-city'])) {
- give_set_error('give-city', __('Please enter a city.', 'give'));
- }
- if (empty($data['give-state'])) {
- give_set_error('give-state', __('Please enter a state.', 'give'));
- }
- if (empty($data['give-zip'])) {
- give_set_error('give-zip', __('Please enter a zipcode.', 'give'));
- }
- }
- // Store data
- add_filter( 'give_payment_meta', 'cfa_store_custom_fields' );
- function cfa_store_custom_fields($payment_meta) {
- $fields = array(
- 'give-phone',
- 'give-street1',
- 'give-street2',
- 'give-state',
- 'give-zip',
- 'give-comments',
- 'give-city',
- 'give-membership',
- 'give-business'
- );
- foreach ($fields as $field) {
- $payment_meta[$field] = isset($_POST[$field]) ? implode("n", array_map( 'sanitize_text_field', explode( "n", $_POST[$field]))) : '';
- }
- return $payment_meta;
- }
- // Add data to transaction view
- add_action( 'give_payment_personal_details_list', 'cfa_purchase_details', 10, 2 );
- function cfa_purchase_details( $payment_meta, $user_info ) {
- $fields = array(
- 'Phone' => 'give-phone',
- 'Street 1' => 'give-street1',
- 'Street 2' => 'give-street2',
- 'State' => 'give-state',
- 'Zipcode' => 'give-zip',
- 'Comments' => 'give-comments',
- 'City' => 'give-city',
- 'Membership' => 'give-membership',
- 'Business Name' => 'give-business'
- );
- foreach ($fields as $key => $field) {
- if (!isset( $payment_meta[$field])) {
- continue;
- } ?>
- <div class="referral-data">
- <label><?php echo __($key, 'give'); ?></label>
- <?php echo wpautop( $payment_meta[$field]); ?>
- </div>
- <?php }
- }
- // Add to tag for email notification
- add_action( 'give_add_email_tags', 'cfax_add_customfield_tags' );
- function cfax_add_customfield_tags( $payment_id ) {
- give_add_email_tag( 'phone', 'This tag can be used to output the phone number a user input.', 'cfa_get_phone_donation_data' );
- give_add_email_tag( 'street1', 'This tag can be used to output the street a user input.', 'cfa_get_street1_donation_data' );
- give_add_email_tag( 'street2', 'This tag can be used to output the street2 a user input.', 'cfa_get_street2_donation_data' );
- give_add_email_tag( 'state', 'This tag can be used to output the state a user input.', 'cfa_get_state_donation_data' );
- give_add_email_tag( 'zipcode', 'This tag can be used to output the zipcode a user input.', 'cfa_get_zipcode_donation_data' );
- give_add_email_tag( 'comments', 'This tag can be used to output comments a user input.', 'cfa_get_comments_donation_data' );
- give_add_email_tag( 'city', 'This tag can be used to output the city a user input.', 'cfa_get_city_donation_data' );
- give_add_email_tag( 'membership', 'This tag can be used to output the membership a user input.', 'cfa_get_membership_donation_data' );
- give_add_email_tag( 'business', 'This tag can be used to output the membership a user input.', 'cfa_get_business_donation_data' );
- }
- function cfa_get_phone_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-phone', $payment_id);
- }
- function cfa_get_street1_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-street1', $payment_id);
- }
- function cfa_get_street2_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-street2', $payment_id);
- }
- function cfa_get_state_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-state', $payment_id);
- }
- function cfa_get_zipcode_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-zip', $payment_id);
- }
- function cfa_get_comments_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-comments', $payment_id);
- }
- function cfa_get_city_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-city', $payment_id);
- }
- function cfa_get_membership_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-membership', $payment_id);
- }
- function cfa_get_business_donation_data( $payment_id ) {
- return cfa_get_donation_additional_data('give-business', $payment_id);
- }
- /* Replaced this function 3/3/2018 after the Give 2.0 upgrade changed it's form - D. Northcutt
- function cfa_get_donation_additional_data($field, $payment_id){
- $payment_meta = give_get_payment_meta( $payment_id );
- $output = __(wp_sprintf('No %s data found.', $field), 'give');
- if ( isset( $payment_meta[$field] ) && ! empty( $payment_meta[$field])) {
- $output = $payment_meta[$field];
- }
- return $output;
- }
- */
- // New function from Give tech support 3/3/2018 - D. Northcutt
- function cfa_get_donation_additional_data($field, $tag_args){
- $payment_meta = give_get_payment_meta( $tag_args['payment_id'] );
- $output = __(wp_sprintf('No %s data found.', $field), 'give');
- if ( isset( $payment_meta[$field] ) && ! empty( $payment_meta[$field])) {
- $output = $payment_meta[$field];
- }
- return $output;
- }
- add_action( 'give_donation_form_before_personal_info', 'cfa_add_membership_fields' );
- function cfa_add_membership_fields($form_id){
- if ($form_id != 4337) {
- return;
- } ?>
- <div id="give-membership-wrap" class="form-row form-row-responsive">
- <label class="give-label" for="give-membership">
- <?php _e( 'Membership:', 'give' ); ?>
- <span class="give-required-indicator">*</span>
- </label>
- <label class="give-label" for="give-membership-new">
- <input type="radio" name="give-membership" id="give-membership-new" value="new" checked>
- <?php _e( 'New Membership', 'give' ); ?>
- </label>
- <label class="give-label" for="give-membership-renewal">
- <input type="radio" name="give-membership" id="give-membership-renewal" value="renewal">
- <?php _e( 'Membership Renewal', 'give' ); ?>
- </label>
- </div>
- <?php }
- add_action( 'give_donation_form_after_email', 'cfa_add_business_membership_fields' );
- function cfa_add_business_membership_fields($form_id){
- if ($form_id != 4337) {
- return;
- } ?>
- <div id="give-business-wrap" class="form-row form-row-responsive">
- <label class="give-label" for="give-business">
- <?php _e( 'Business Name (only required for Business Membership):', 'give' ); ?>
- </label>
- <input class="give-input" type="tel" name="give-business" id="give-business" placeholder="Business Name" value=""/>
- </div>
- <?php }
- add_filter('give_email_heading', 'cfa_email_heading');
- function cfa_email_heading(){
- return "Payment Receipt";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement