/** * Initial hooks * Add more hooks from other classes init functions. To me, a giant list of add_action/add_filter is not * an appealing way to organize a plugin. The hooks here are the general hooks that handle the base * functionality of the plugin, such as setting up post types, taxonomies, admin menus, etc. */ public static function init() { global $xi_error; add_action('init', array('XiEvents', 'register_event_post_type')); add_action('init', array('XiEvents', 'register_taxonomies')); add_action('admin_menu', array('XiEvents', 'add_settings_pages')); add_action('admin_menu', array('XiEvents', 'add_help_pages')); add_action('admin_print_styles', array('XiEvents', 'admin_styles')); add_action('admin_enqueue_scripts', array('XiEvents', 'admin_scripts')); add_action('wp_enqueue_scripts', array('XiEvents', 'frontend_assets')); add_action('admin_notices', array($xi_error, 'init_display_errors'), 99); add_filter('the_content', array('XiEvents', 'apply_event_information')); XiMetaboxes::init(); XiCategorymeta::init(); XiShortcode::init(); XiWidget::init(); XiAjax::init(); }
<?php /** * @copyright Copyright (C) 2009 - 2015 Ready Bytes Software Labs Pvt. Ltd. All rights reserved. * @license GNU/GPL, see LICENSE.php * @package PayPlans * @subpackage Frontend * @contact support+payplans@readybytes.in */ if (defined('_JEXEC') === false) { die; } ?> <?php $widget = new XiWidget(); $widget->id('pp-dashboard-menu'); $widget->setOption('title', XiText::_('COM_PAYPLANS_DASHBOARD_QUICKLINKS')); $widget->setOption('style_class', 'hidden-xs'); ob_start(); ?> <ul class="nav panel-group "> <li> <a href="<?php echo XiRoute::_('index.php?option=com_payplans&view=plan&task=subscribe'); ?> "> <?php echo XiText::_('COM_PAYPLANS_DASHBOARD_ACTION_SUBSCRIBE'); ?> </a>