function jigoshop_init() { // Override default translations with custom .mo's found in wp-content/languages/jigoshop first. load_textdomain('jigoshop', WP_LANG_DIR . '/jigoshop/jigoshop-' . get_locale() . '.mo'); load_plugin_textdomain('jigoshop', false, dirname(plugin_basename(__FILE__)) . '/languages/'); add_filter('plugin_action_links_' . plugin_basename(__FILE__), 'jigoshop_admin_bar_links'); do_action('before_jigoshop_init'); // instantiate options -after- loading text domains $options = Jigoshop_Base::get_options(); jigoshop_post_type(); // register taxonomies new jigoshop_cron(); // -after- text domains and Options instantiation allows settings translations jigoshop_set_image_sizes(); // called -after- our Options are loaded // add Singletons here so that the taxonomies are loaded before calling them. jigoshop_session::instance(); // Start sessions if they aren't already jigoshop::instance(); // Utility functions, uses sessions jigoshop_customer::instance(); // Customer class, sorts session data such as location // Jigoshop will instantiate gateways and shipping methods on this same 'init' action hook // with a very low priority to ensure text domains are loaded first prior to installing any external options jigoshop_shipping::instance(); // Shipping class. loads shipping methods jigoshop_payment_gateways::instance(); // Payment gateways class. loads payment methods jigoshop_cart::instance(); // Cart class, uses sessions add_filter('mce_external_plugins', 'jigoshop_register_shortcode_editor'); add_filter('mce_buttons', 'jigoshop_register_shortcode_buttons'); if (!is_admin()) { /* Catalog Filters */ add_filter('loop-shop-query', create_function('', 'return array("orderby" => "' . $options->get('jigoshop_catalog_sort_orderby') . '","order" => "' . $options->get('jigoshop_catalog_sort_direction') . '");')); add_filter('loop_shop_columns', create_function('', 'return ' . $options->get('jigoshop_catalog_columns') . ';')); add_filter('loop_shop_per_page', create_function('', 'return ' . $options->get('jigoshop_catalog_per_page') . ';')); jigoshop_catalog_query::instance(); // front end queries class jigoshop_request_api::instance(); // front end request api for URL's } jigoshop_roles_init(); do_action('jigoshop_initialize_plugins'); }