2.3.13.formfields.inputs.php (Module)
Customer Information input form fields as set in WPPizza -> Order Form Settings
Also used for confirmation page formfields (if used)
CSS Targeting
-
Wrapper fieldset element id:
#wppizza-personal-details
(order page) -
Wrapper fieldset element class:
.wppizza-legal
(on confirmation page – if used)
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_inputs
purpose: modify the html markup of the html as required@param: $markup array (array of markup elements)
@param: $formfields array (array of formfield parameters)
@return: arrayexamples:
add_filter('wppizza_filter_formfields_inputs', 'prefix_filter_formfields_inputs', 10, 2); function prefix_filter_formfields_inputs($markup, $formfields){ /* 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 ) use global $wppizza_options; to access all options/settings/localization strings etc set in the plugin */ /* example: adding a paragraph AFTER all formfields */ $markup['my_paragraph'] = '<p>more text after formfields </p>'; /* example: adding a paragraph BEFORE all 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 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 3 keys (opening div, label/input(s), closing div). so if there are 5 formfields the array would consist of 15 keys, setting the offset to 100 therefore would ensure it is added to the very end, although setting it to 15 in this case would also suffice # /* example: adding a paragraph BEFORE all 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 formfields /* example: adding a paragraph BEFORE the 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 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_inputs
purpose: run an action when customer input fields are show@param: $formfields array (array of form fields)
@return: void -
action:
wppizza_formfield_input_'.$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)
@return: void -
example: if necessary, replace wppizza_formfields_inputs with one of the action hooks above
add_action('wppizza_formfields_inputs', 'prefix_formfields_inputs_myaction'); function prefix_formfields_inputs_myaction($formfields){ /* # run your code/action */ /* 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
documentor id 5