wppizza / markup / global / formfields.inputs.php

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: array

    examples:

    
    
    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