array key: form_definition
returns array of array
The form_definition
callable returns array $input_form
for displaying the input form. In general, the $input_form
array has some values which are used to define the form inputs and then other values become HTML input form tag attributes. Empty array values that are key only become singleton attributes. Specifically the key of the array becomes the name of the input
, textarea
or dropdown
. Use type
to define HTML5 inputs for validation.
The label fields define the input labels. If required is set required will be noted in the input label.
Furthermore type is either an HTML5 input
type, or a textarea
or select
.
For a select option the usekey
boolean defines whether the select options will have value attributes or not, the options array is an array to populate select options and values.
Radio and file inputs not currently supported.
HTML5 types will validate data well and setting the required attribute with a blank value will make the HTML5 input required.
function saturn_tables_cars_input_form_definition() { global $wpdb; if (count($wpdb->get_var("SHOW TABLES LIKE 'saturn_tables_cars'"))) { $countries = $wpdb->get_col( "SELECT DISTINCT country FROM saturn_tables_cars ORDER BY country" ); } else { $countries = array(); } $input_form['make'] = array('label'=> "Make", "required" => "", 'type'=>"text" ); $input_form['model'] = array( 'label'=> "Model", "required" => "", 'type'=>"textarea", 'rows'=>"5", 'cols'=>"30", 'style'=>"max-width: 500px;"); $input_form['mpg'] = array ('label'=> "MPG", "required" => "", 'type' => "number", 'step'=>".1"); $input_form['cylinders'] = array ('label'=> "Cylinders", "required" => "", 'type' => "number", 'step'=>"1"); $input_form['weight'] = array ('label'=> "Weight", "required" => "", 'type' => "number", 'step'=>"1"); $input_form['model_year'] = array ('label'=> "Model Year", "required" => "", 'type' => "number", 'step'=>"1"); $input_form['country'] = array ('label'=> "Country", "required" => "", 'type' => "select", 'options' => $countries , 'usekey' => false); return $input_form; }