public function init() { global $polylang; self::define_constants(); $options = get_option('polylang'); // plugin upgrade if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) { $upgrade = new PLL_Upgrade($options); if (!$upgrade->upgrade()) { // if the version is too old return; } } $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model'); $model = new $class($options); $links_model = $model->get_links_model(); if (PLL_ADMIN) { $polylang = new PLL_Admin($links_model); $polylang->init(); } elseif ($model->get_languages_list()) { $polylang = new PLL_Frontend($links_model); $polylang->init(); } if (!$model->get_languages_list()) { do_action('pll_no_language_defined'); } // to load overriden textdomains // load wpml-config.xml if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) { PLL_WPML_Config::instance(); } do_action('pll_init'); }
public function init() { global $polylang; $options = get_option('polylang'); // plugin upgrade if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) { $upgrade = new PLL_Upgrade($options); if (!$upgrade->upgrade()) { // if the version is too old return; } } $model = PLL_SETTINGS ? new PLL_Admin_Model($options) : new PLL_Model($options); $links_model = $this->get_links_model($model); if (PLL_ADMIN) { $polylang = new PLL_Admin($links_model); $polylang->init(); } elseif ($model->get_languages_list()) { $polylang = new PLL_Frontend($links_model); $polylang->init(); } else { do_action('pll_no_language_defined'); } // to load overriden textdomains // load wpml-config.xml if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) { new PLL_WPML_Config(); } }
/** * Polylang initialization * setups models and separate admin and frontend * * @since 1.2 */ public function init() { global $polylang; self::define_constants(); $options = get_option('polylang'); // plugin upgrade if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) { $upgrade = new PLL_Upgrade($options); if (!$upgrade->upgrade()) { // if the version is too old return; } } // Make sure that this filter is *always* added before PLL_Model::get_languages_list() is called for the first time add_filter('pll_languages_list', array('PLL_Static_Pages', 'pll_languages_list'), 2, 2); // before PLL_Links_Model /** * Filter the model class to use * /!\ this filter is fired *before* the $polylang object is available * * @since 1.5 * * @param string $class either PLL_Model or PLL_Admin_Model */ $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model'); $model = new $class($options); $links_model = $model->get_links_model(); if (PLL_SETTINGS) { $polylang = new PLL_Settings($links_model); } elseif (PLL_ADMIN) { $polylang = new PLL_Admin($links_model); } elseif ($model->get_languages_list() && empty($_GET['deactivate-polylang'])) { $polylang = new PLL_Frontend($links_model); } if (!$model->get_languages_list()) { /** * Fires when no language has been defined yet * Used to load overriden textdomains * * @since 1.2 */ do_action('pll_no_language_defined'); } if (!empty($polylang)) { /** * Fires after the $polylang object is created and before the API is loaded * * @since 2.0 * * @param object $polylang */ do_action_ref_array('pll_pre_init', array(&$polylang)); require_once PLL_INC . '/api.php'; // loads the API if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) { PLL_WPML_Compat::instance(); // WPML API PLL_WPML_Config::instance(); // wpml-config.xml } $polylang->init(); /** * Fires after the $polylang object and the API is loaded * * @since 1.7 * * @param object $polylang */ do_action_ref_array('pll_init', array(&$polylang)); } }
public function init() { global $polylang; self::define_constants(); $options = get_option('polylang'); // plugin upgrade if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) { $upgrade = new PLL_Upgrade($options); if (!$upgrade->upgrade()) { // if the version is too old return; } } // /!\ this filter is fired *before* the $polylang object is available $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model'); $model = new $class($options); $links_model = $model->get_links_model(); add_filter('pll_languages_list', array('PLL_Static_Pages', 'pll_languages_list'), 2, 2); // before PLL_Links_Model if (PLL_SETTINGS) { $polylang = new PLL_Settings($links_model); } elseif (PLL_ADMIN) { $polylang = new PLL_Admin($links_model); } elseif ($model->get_languages_list() && empty($_GET['deactivate-polylang'])) { $polylang = new PLL_Frontend($links_model); } if (!$model->get_languages_list()) { do_action('pll_no_language_defined'); // to load overriden textdomains } if (!empty($polylang)) { require_once PLL_INC . '/api.php'; // loads the API if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) { PLL_WPML_Compat::instance(); // WPML API PLL_WPML_Config::instance(); // wpml-config.xml } $polylang->init(); do_action('pll_init', $polylang); } }