wppizza / markup / global / formfields.values.php
Submitted customer information values received from form fields set in WPPizza -> Order Form Settings
Display submitted formfield values in “confirmation page” – if used and – “thank you page” – if “Show Order Details on “Thank You” page” is enabled in WPPizza -> Order Settings -> Global
CSS Targeting
-
Wrapper fieldset element class:
.wppizza-order-wrap-confirmationpage .wppizza-personal-details
(confirmation page customer details – if used)
Wrapper fieldset element class:.wppizza-order-wrap-thankyoupage .wppizza-personal-details
(thank you page customer details – if displayed)
if you simply want to edit some styles/layout (text-sizes, color, margins, paddings etc etc ) it is strongly recommended to use css instead of filters/actions. Please refer to Modify Styles/Layout
Filters available
apply filters by adding them to your child-theme’s functions.php (notes regarding functions.php).
do NOT
use this filter to add additional formfields you want to capture with the order or display in emails , print templates , order history etc. Use wppizza_register_formfields
instead
-
filter name:
wppizza_filter_formfields_values
purpose: modify the html markup of the html as required@param: $markup array (array of markup elements)
@param: $formfields array (array of formfield parameters)
@param: $page str (‘confirmationpage’ or ‘thankyoupage’)
@return: arrayexamples:
add_filter('wppizza_filter_formfields_values', 'prefix_filter_formfields_values', 10, 3); function prefix_filter_formfields_values($markup, $formfields, $page){ /* notes: use print_r($markup) to view array keys with their respective markup use print_r($formfields) to view formfields parameters and keys ('cemail', 'cname', 'ctel', 'ccomments' etc ) $page is either 'thankyoupage' or 'confirmationpage' use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding a paragraph AFTER all submitted formfields */ $markup['my_paragraph'] = '<p>more text after formfields </p>'; /* example: adding a paragraph BEFORE all submitted formfields */ $new_markup = array(); $new_markup['my_paragraph'] = '<p>more text before formfields </p>'; $new_markup +=$markup; return $new_markup; # return the new markup array now /* example: adding a paragraph AFTER all submitted formfields using wppizza array_splice helper function and numeric index */ $splice_after['myprefix_paragraph'] = '<p>more text after all formfields</p>'; $markup = wppizza_array_splice($markup, $splice_after, 100 ); # each formfield consists of an array made up of 4 keys (opening div, label, value, closing div). so if there are 5 formfields the array would consist of20 keys, setting the offset to 100 therefore would ensure it is added to the very end, although setting it to 20 in this case would also suffice # /* example: adding a paragraph BEFORE all submitted formfields using wppizza array_splice helper function and numeric index*/ $splice_before['myprefix_paragraph'] = '<p>more text before all formfields</p>'; $markup = wppizza_array_splice($markup, $splice_before, 0);#set to 0 to add before all submitted formfields /* example: adding a paragraph BEFORE the submitted email formfield div using wppizza array_splice helper functionx*/ $splice_in_place_before['myprefix_paragraph'] = '<p>more text before email formfield wrapper div</p>'; $markup = wppizza_array_splice($markup, $splice_in_place_before, 'div_cemail_', true); # insert before opening cemail div element: div_cemail_ /* example: adding a paragraph AFTER the submitted email formfield div using wppizza array_splice helper functionx*/ $splice_in_place_after['myprefix_paragraph'] = '<p>more text after email formfield wrapper div</p>'; $markup = wppizza_array_splice($markup, $splice_in_place_after, '_div_cemail');# insert after closing cemail div element: _div_cemail /* example: replacing each formfields surrounding 'div' with 'span' . $key will be something like 'cemail', 'cname', 'ctel', 'ccomments' etc*/ foreach($formfields as $key=>$formfield){ $markup['div_'.$key.'_'] = str_replace('<div', '<span', $markup['div_'.$key.'_']); $markup['_div_'.$key.''] = str_replace('</div>', '</span>', $markup['_div_'.$key.'']); } /* example: using actions of another plugin that by default outputs html to add it after all formfields*/ ob_start(); # start buffering do_action('other_plugin_output'); # run action of other plugin that outputs things $buffer= ob_get_contents(); # capture buffer in variable ob_end_clean(); # clean buffer $markup['my_buffer'] = $buffer; # simply add buffered output to the array return $markup; }
Actions available
Actions should NOT output / echo / print anything, if you need to output any elements, use the filter provided (see above)
-
action:
wppizza_formfields_values
purpose: run an action when customer input fields are show@param: $formfields array (array of form fields)
@param: $page str (‘confirmationpage’ or ‘thankyoupage’)
@return: void -
action:
wppizza_formfield_value_'.$key.'
purpose: run an action when a particular customer input field is show ($key will be something like ‘cemail’, ‘cname’, ‘ctel’, ‘ccomments’ etc )@param: $formfield array (array of formfield paramaters of this key)
@param: $page str (‘confirmationpage’ or ‘thankyoupage’)
@return: void -
example: if necessary, replace wppizza_formfields_inputs with one of the action hooks above
add_action('wppizza_formfields_values', 'prefix_formfields_values_myaction', 10 , 2); function prefix_formfields_values_myaction($formfields, $page){ /* # run your code/action . use $page paramater to restrict to 'confirmationpage' or 'thankyoupage' */ /* do not output/echo anything - use the filter above instead if you need to*/ return; }
Editing files directly
ensure you have also read the Modify/Edit Templates
basepath: [plugin-path]/wppizza/templates/markup
filepath: [plugin-path]/wppizza/templates/markup/global/formfields.inputs.php
Modules used in file
- None
Module used by file(s)
- [basepath]/pages/page.order.php
- [basepath]/pages/page.confirm-order.php