This plugin is a developer's tookit for collecting form data from your WordPress site. It provides the necessary hooks for you to manage how data is saved and displayed later.
NOTE: Plugin will add "px_fdc" prefix to all form field names before they are stored in database.
In HTML
<form action="#" method="post" id="form">
<input type="text" name="itemID" />
<input type="text" name="cname" />
<input type="text" name="address2" />
<button type="button" class="js-submit">Submit</button>
</form>
Send form data via Ajax.
$('.js-submit').on('click', function(e) {
e.preventDefault();
$.post(ajaxurl,
{
action: 'fdc_action',
data: $('#form').serialize(),
check: fdc_vars.nonce,
cmd: 'save'
}, function(data) {
console.log(data);
}
);
});
Use filter to remove fields that you don't want to store in database
function px_filter_data($data)
{
if( isset($data['address2']) ) {
unset($data['address2']);
}
return $data;
}
add_filter('fdc_pre_save_meta', 'px_filter_data', 10, 1);
Add columns to the Entries table in the Admin area.
function px_fdc_table_list_columns($columns)
{
$columns = array(
'item' => 'Item',
'name' => 'Name'
);
return $columns;
}
add_filter('fdc_table_list_columns', 'px_fdc_table_list_columns');
Add data to the Entries table columns
function px_fdc_table_list_values($column_name, $item)
{
$post_id = $item->ID;
switch($column_name)
{
case 'item':
echo get_post_meta($post_id, '_px_fdc_itemID', true);
break;
case 'name':
echo get_post_meta($post_id, '_px_fdc_cname', true);
break;
}
}
add_filter('fdc_table_list_columns_values', 'px_fdc_table_list_values', 10, 2);
Control how data is displayed in the Entry Details modal.
function px_fdc_overview_output($meta)
{
$new_meta = array();
$new_keys = array(
'_px_fdc_itemID' => 'Car',
'_px_fdc_name' => 'Name',
);
if( ! empty($meta) )
{
foreach( $meta as $key => $value )
{
if( isset($new_keys[$key]) ) {
$new_meta[$new_keys[$key]]= $value;
} else {
$new_meta[$key]= $value;
}
}
}
return $new_meta;
}
add_filter('fdc_overview_details_output', 'px_fdc_overview_output');