Posted on

Extending the Scheduler Interface

Similar to WordPress’s Admin Tables, the Scheduler table is also extendable. Using the objxMobile_scheduler_attributes filter, we can add extra attributes to the table; Currently, only the extra aux_columns attribute is available). This code should go in your functions.php of your child theme.

In this example, I add a new Column “Assessment”, and if the client of the appointment has a special metakey present, include a link to said assessment.

objxMobile_scheduler_attributes Filter

Here we specify a single custom column with the aux_columns key, and indicate assessmentHtml as the key to use on the displayed appointment object.

add_filter('objxMobile_scheduler_attributes', 'my_scheduler_atts_filter', 10, 1);
function my_scheduler_atts_filter($attributes){
   $attributes['aux_columns'] = [['label'=>'Assessment', 'key'=>'assessmentHtml']];
}

objxMobile_appointments Filter

Using this filter we get the client object for the appointment, check for our custom metakey, and then add it to the appointment using our assessmentHtml key.

add_filter('objxMobile_appointments', 'my_appointments_filter', 10, 1);
function my_appointments_filter($appointments){
   $attributes['aux_columns'] = [['label'=>'Assessment', 'key'=>'assessmentHtml']];
}