/** * Single event shortcode handler. */ function process_single_shortcode($args = array(), $content = false) { $args = $this->_preparse_arguments($args, array('id' => false, 'slug' => false, 'class' => false, 'template' => 'get_shortcode_single_output', 'override_styles' => false, 'override_scripts' => false)); $args['id'] = $this->_arg_to_int($args['id']); $event = false; if ($args['id']) { $event = new Eab_EventModel(get_post($args['id'])); } else { $q = new WP_Query(array('post_type' => Eab_EventModel::POST_TYPE, 'name' => $args['slug'], 'posts_per_page' => 1)); if (isset($q->posts[0])) { $event = new Eab_EventModel($q->posts[0]); } } if (!$event) { return $content; } $output = Eab_Template::util_apply_shortcode_template($event, $args); $output = $output ? $output : $content; if (!$args['override_styles']) { wp_enqueue_style('eab_front'); } if (!$args['override_scripts']) { wp_enqueue_script('eab_event_js'); do_action('eab-javascript-do_enqueue_api_scripts'); } return $output; }