Event Organiser
https://wordpress.org/plugins/event-organiser/
for documentation here
Get event extra data
$event_data = eo_get_by_postid($event_post->ID);
How to add a new field click
Step 1:
write field html in around line 130
wp-content\plugins\event-organiser\event-organiser-edit.php
Example
<tr>
<td class="eo-label">Price</td>
<td>
$<input type="text" name="eo_input[EventPrice]" value="<?php echo $EventPrice; ?>">
</td>
</tr>
In function eventorganiser_details_save(){
$event_data = array(
'start' => $start,
'end' => $end,
'EventPrice' => $raw_data['EventPrice'],
'all_day' => $all_day,
'schedule' => $schedule,
'frequency' => (int) $raw_data['event_frequency'],
'schedule_last' => $schedule_last,
'schedule_meta' => $schedule_meta,
'occurs_by' => $occurs_by,
'include' => $in_ex['include'],
'exclude' => $in_ex['exclude'],
);
}
update the $event_data variable before $response = eo_update_event( $post_id, $event_data );
step 2:
wp-content\plugins\event-organiser\includes\event.php
update the function
function eo_update_event( $post_id, $event_data = array(), $post_data = array() ){
$event_keys = array_flip( array( 'start', 'end', 'EventPrice', 'schedule', 'schedule_meta', 'frequency',
'all_day', 'schedule_last', 'include', 'exclude', 'occurs_by', 'number_occurrences' ) );
}
function eo_insert_event( $post_data = array(), $event_data = array() ){
$event_keys = array_flip( array( 'start', 'end', 'EventPrice', 'schedule', 'schedule_meta', 'frequency',
'all_day', 'schedule_last', 'include', 'exclude', 'occurs_by', 'number_occurrences' ) );
}
Go to function and update $event_defaults and $_event_data
function _eventorganiser_generate_occurrences( $event_data=array() ){
$event_defaults = array(
'start'=>'',
'end'=>'',
'EventPrice'=>0,
'all_day'=>0,
'schedule'=>'once',
'schedule_meta'=>'',
'frequency'=>1,
'schedule_last'=>'',
'number_occurrences' => 0,
'exclude'=>array(),
'include'=>array(),
);
$_event_data = array(
'start'=>$start,
'end'=>$end,
'EventPrice'=>$event_data['EventPrice'],
'all_day'=>$all_day,
'schedule'=>$schedule,
'schedule_meta'=>$schedule_meta,
'frequency'=>$frequency,
'schedule_start'=>$schedule_start,
'schedule_last'=>$schedule_last,
'exclude'=>$exclude,
'include'=>$include,
'occurrences'=>$occurrences
);
}
after that go to function and update $occurrence_input variable for insert and update also
function _eventorganiser_insert_occurrences( $post_id, $event_data ){
$occurrence_input =array(
'post_id' => $post_id,
'StartDate' => $occurrence->format('Y-m-d'),
'StartTime' => $occurrence->format('H:i:s'),
'EndDate' => $occurrence_end->format('Y-m-d'),
'FinishTime' => $end->format('H:i:s'),
'EventPrice' => $event_data['EventPrice'],
'event_occurrence' => $counter,
);
}
Column Display in listing
wp-content\plugins\event-organiser\event-organiser-manage.php