Example #1
0
 public function __construct(&$polylang)
 {
     parent::__construct($polylang);
     // widgets languages filter
     add_action('in_widget_form', array(&$this, 'in_widget_form'), 10, 3);
     add_filter('widget_update_callback', array(&$this, 'widget_update_callback'), 10, 4);
     // language management for users
     add_action('personal_options_update', array(&$this, 'personal_options_update'));
     add_action('edit_user_profile_update', array(&$this, 'personal_options_update'));
     add_action('personal_options', array(&$this, 'personal_options'));
     // ugrades languages files after a core upgrade (timing is important)
     // FIXME private action ? is there a better way to do this ?
     add_action('_core_updated_successfully', array(&$this, 'upgrade_languages'), 1);
     // since WP 3.3
 }
Example #2
0
 public function __construct(&$polylang)
 {
     parent::__construct($polylang);
     // widgets languages filter
     add_action('in_widget_form', array(&$this, 'in_widget_form'), 10, 3);
     add_filter('widget_update_callback', array(&$this, 'widget_update_callback'), 10, 4);
     // language management for users
     add_action('personal_options_update', array(&$this, 'personal_options_update'));
     add_action('edit_user_profile_update', array(&$this, 'personal_options_update'));
     add_action('personal_options', array(&$this, 'personal_options'));
     // ugrades languages files after a core upgrade ( timing is important )
     // backward compatibility WP < 4.0 *AND* Polylang < 1.6
     add_action('_core_updated_successfully', array(&$this, 'upgrade_languages'), 1);
     // since WP 3.3
     // upgrades plugins and themes translations files
     add_filter('themes_update_check_locales', array(&$this, 'update_check_locales'));
     add_filter('plugins_update_check_locales', array(&$this, 'update_check_locales'));
 }
Example #3
0
 public function __construct(&$polylang)
 {
     parent::__construct($polylang);
     // filters the WordPress locale
     add_filter('locale', array(&$this, 'get_locale'));
     // translates page for posts and page on front
     add_filter('option_page_on_front', 'pll_get_post');
     add_filter('option_page_for_posts', 'pll_get_post');
     // filter sticky posts by current language
     add_filter('option_sticky_posts', array(&$this, 'option_sticky_posts'));
     // adds cache domain when querying terms
     add_filter('get_terms_args', array(&$this, 'get_terms_args'));
     // filters categories and post tags by language
     add_filter('terms_clauses', array(&$this, 'terms_clauses'), 10, 3);
     // rewrites archives, next and previous post links to filter them by language
     foreach (array('getarchives', 'get_previous_post', 'get_next_post') as $filter) {
         foreach (array('_join', '_where') as $clause) {
             add_filter($filter . $clause, array(&$this, 'posts' . $clause));
         }
     }
     // filters the widgets according to the current language
     add_filter('widget_display_callback', array(&$this, 'widget_display_callback'), 10, 2);
     // strings translation (must be applied before WordPress applies its default formatting filters)
     foreach (array('widget_text', 'widget_title', 'option_blogname', 'option_blogdescription', 'option_date_format', 'option_time_format') as $filter) {
         add_filter($filter, 'pll__', 1);
     }
     // translates biography
     add_filter('get_user_metadata', array(&$this, 'get_user_metadata'), 10, 3);
     // set posts and terms language when created from frontend (ex with P2 theme)
     add_action('save_post', array(&$this, 'save_post'), 200, 2);
     add_action('create_term', array(&$this, 'save_term'), 10, 3);
     add_action('edit_term', array(&$this, 'save_term'), 10, 3);
     if ($this->options['media_support']) {
         add_action('add_attachment', array(&$this, 'set_default_language'));
     }
     // support theme customizer
     // FIXME of course does not work if 'transport' is set to 'postMessage'
     if (isset($_POST['wp_customize'], $_POST['customized'])) {
         add_filter('pre_option_page_on_front', 'pll_get_post', 20);
         add_filter('pre_option_page_for_post', 'pll_get_post', 20);
         add_filter('pre_option_blogname', 'pll__', 20);
         add_filter('pre_option_blogdescription', 'pll__', 20);
     }
 }
 /**
  * constructor: setups filters and actions
  *
  * @since 1.2
  *
  * @param object $polylang
  */
 public function __construct(&$polylang)
 {
     parent::__construct($polylang);
     // widgets languages filter
     add_action('in_widget_form', array($this, 'in_widget_form'), 10, 3);
     add_filter('widget_update_callback', array($this, 'widget_update_callback'), 10, 4);
     // language management for users
     add_action('personal_options_update', array($this, 'personal_options_update'));
     add_action('edit_user_profile_update', array($this, 'personal_options_update'));
     add_action('personal_options', array($this, 'personal_options'));
     // ugrades languages files after a core upgrade ( timing is important )
     // backward compatibility WP < 4.0 *AND* Polylang < 1.6
     add_action('_core_updated_successfully', array($this, 'upgrade_languages'), 1);
     // since WP 3.3
     // upgrades plugins and themes translations files
     add_filter('themes_update_check_locales', array($this, 'update_check_locales'));
     add_filter('plugins_update_check_locales', array($this, 'update_check_locales'));
     // We need specific filters for German and Danish
     $specific_locales = array('da_DK', 'de_DE', 'de_DE_formal', 'de_CH', 'de_CH_informal');
     if (array_intersect($this->model->get_languages_list(array('fields' => 'locale')), $specific_locales)) {
         add_filter('sanitize_title', array($this, 'sanitize_title'), 10, 3);
         add_filter('sanitize_user', array($this, 'sanitize_user'), 10, 3);
     }
 }