name = 'qtranslate_wysiwyg'; $this->label = __("Wysiwyg Editor",'acf'); $this->category = __("qTranslate",'acf'); acf_field::__construct(); add_filter('acf/fields/wysiwyg/toolbars', array($this, 'toolbars'), 1, 1); } function toolbars($toolbars) { return acf_field_wysiwyg::toolbars($toolbars); } function create_field($field) { if (!acf_qtranslate_enabled()) { acf_field_wysiwyg::create_field($field); return; } $defaults = array( 'toolbar' => 'full', 'media_upload' => 'yes', ); $field = array_merge($defaults, $field); global $q_config, $wp_version; $languages = qtrans_getSortedLanguages(true); $values = qtrans_split($field['value'], $quicktags = true); echo '
'; foreach ($languages as $language) { $class = ($language === end($languages)) ? 'wp-switch-editor current-language' : 'wp-switch-editor'; echo '' . $q_config['language_name'][$language] . ''; } foreach ($languages as $language): $value = $values[$language]; $id = 'wysiwyg' . $field['id'] . "[$language]"; $name = $field['name'] . "[$language]"; $class = ($language === end($languages)) ? 'acf_wysiwyg wp-editor-wrap current-language' : 'acf_wysiwyg wp-editor-wrap'; ?>
'; } function format_value($value, $post_id, $field) { return $value; } function format_value_for_api($value, $post_id, $field) { if (acf_qtranslate_enabled()) { $value = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage($value); } return acf_field_wysiwyg::format_value_for_api($value, $post_id, $field); } function update_value($value, $post_id, $field) { if (acf_qtranslate_enabled()) { $value = qtrans_join($value); } return $value; } } new acf_field_qtranslate_wysiwyg;