acf = $acf; $this->plugin = $plugin; // include compatibility functions require_once ACF_QTRANSLATE_PLUGIN_DIR . 'compatibility/qtranslatex.php'; add_action('admin_head', array($this, 'admin_head')); add_action('admin_footer', array($this, 'admin_footer'), 9999); //after qTranslate-X add_filter('qtranslate_custom_admin_js', array($this, 'qtranslate_custom_admin_js')); add_filter('qtranslate_load_admin_page_config', array($this, 'qtranslate_load_admin_page_config')); add_filter('acf_qtranslate_get_active_language', array($this, 'get_active_language')); } /** * Add class to the body element. */ public function admin_head() { ?> acf->get_visible_acf_fields(); if (count($fields)) { // ACF uses a single tinyMCE editor mceInit // for all it's WYSIWYG fields $fields[] = array('id' => 'acf_settings'); array_push($configs, array( 'pages' => array($pagenow => ''), 'forms' => array(array('fields' => $fields)) )); } return $configs; } /** * Use the edit-post script on admin pages. * @return string */ public function qtranslate_custom_admin_js() { global $pagenow; if ($pagenow === 'admin.php' && isset($_GET['page'])) { return 'admin/js/edit-post'; } } /** * Get the active language. */ public function get_active_language($language) { if (empty($_COOKIE['qtrans_edit_language']) === false) { $enabledLanguages = qtrans_getSortedLanguages(); if (in_array($_COOKIE['qtrans_edit_language'], $enabledLanguages)) { $language = $_COOKIE['qtrans_edit_language']; } } return $language; } }